What Is an OAS?
The OAS provides open capabilities for devices. It uses the virtualization technology to reserve an independent space in the original closed device system architecture. When the inherent functions of a device cannot meet requirements, users can install customized applications in the OAS to meet diversified network management requirements.
Why Do We Need an OAS?
With the continuous development of networks, users' requirements for differentiated network devices are increasing. The inherent functions of traditional network devices are unable to fulfill users' needs as users turn their attention towards applications that meet their service requirements. The software and hardware architectures of traditional network devices are relatively closed, and no single vendor can provide all services required by customers. Therefore, customers have to purchase and deploy new servers to meet service requirements. In this way, the entire system becomes increasingly large and complex, and these isolated applications are difficult to uniformly manage. To resolve this problem, network devices need to gradually evolve from closed to open, allowing users to flexibly customize their service applications based on open systems.
Although Huawei has provided unified application programming interfaces (APIs) to enhance the open programmability of network devices, the openness is far from enough. To solve this problem, virtualization technology is used to construct the OAS based on the original basic hardware and operating system of network devices. The OAS provides an independent and operable platform for users to install personalized applications. When new services are required, users can install customized applications on existing network devices without needing to purchase additional servers. This reduces service expansion costs and the burden on O&M.
These personalized applications may be functions customized by Huawei for specific users, or may be customized and developed by a partner or a user. Improved openness encourages more individuals and organizations to participate in improving and optimizing the communications system, providing users with richer service experience and more choices. Furthermore, increasingly more third-party applications are loaded to the existing network architecture through the OAS, providing a foundation for the seamless connection of future IoT applications and construction of a fully connected ecosystem.
The OAS can be used in many scenarios. For example, for healthcare IoT as shown in the following figure, the medical devices of each patient in the hospital are connected to the clinical healthcare IoT through Wi-Fi. A third-party application is installed on network devices using the OAS capability to collect information about medical devices, convert the information into service data, and upload the service data to the healthcare cloud. This aids medical personnel in quickly assessing the condition of patients.
How Is OAS Implemented?
The following figure shows the system architecture of the device with the OAS function. The device functions and OAS run on the basic hardware and operating system of the device.
System architecture of the device with the OAS function
Applications created in the OAS, which provide personalized functions for users.
- Application Manager (APPM)
Application management system, which is used to manage virtualized applications, including application resource management and lifecycle management.
- Application resource management
Allocates, monitors, and schedules CPU, memory, storage, and other resources used by applications.
- Application lifecycle management
Implements operations on applications, such as creating, starting, stopping, and deleting them.
Communication with Third-Party Applications
The OAS provides the following types of interfaces for third-party application communications:
- East/West interface: used by third-party applications in the OAS to interact with the internal software of devices.
- Service interface: used by third-party applications in the OAS to interact with external devices.
- Management interface: used by users to manage and maintain third-party applications in the OAS.
The following figure shows how to install a third-party log collection application. The log collection application collects logs generated by the log service module on the device through the east/west interface. It also collects the logs of other devices on the network through the service interface, and then sends these logs to the third-party log audit service through the service interface. The log audit service manages and maintains the log collection application through the management interface.
Communication diagram of the log collection application
Docker Container-based OAS
The OAS supports the installation and management of third-party applications through the Docker container. The following describes the concepts related to the container and Docker.
Container is a lightweight virtualization technology. A container packs the code and all the dependencies required for running an application, so that the application can be reliably and quickly copied from one computing environment to another. All containers share the same operating system kernel and are isolated from each other. Typical container management applications include Docker and LXC. The OAS integrates the Docker and allows users to run third-party applications based on the Docker container.
The Docker is an open-source application container engine. Developers can uniformly pack their applications and dependencies into a portable container and then release the container to any server where the Docker engine is installed.
- Image: A Docker image is a special file system. In addition to providing the programs, repositories, resources, and configuration files required for running a container, the image also contains some configuration parameters that are prepared for running. The image does not contain any dynamic data, and its content will not be changed after being compiled. An image can be used to create a Docker container. You can use an existing image on the device to install multiple Docker containers of the same class.
- Container: is the entity for running an image. Containers can be created, started, stopped, deleted, and more. Each Docker container runs only one application and implements only one service function. The application is embedded in the image when the container image is built. After the container is installed, you can manage the application by operating the container.
The following figure shows the OAS architecture based on the Docker container.
Docker container-based OAS architecture
Container resource and lifecycle management implemented based on the Docker engine.
Container created using the Docker image.
Application that implements service functions required by users in a container.
Environment dependencies required for application running.
Each Docker container contains the applications required by users to implement service functions and their running dependencies. You can manage applications by performing operations on a container. Containerized applications can be quickly installed on different devices and in different environments as long as they have corresponding image files. This eliminates the need for environment adaptation and facilitates quick application migration and large-scale deployment.
- Author： Gu Peiyue
- Updated on： 2021-09-02
- Views： 166
- Average rating：