Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Blueprint overview/Introduction

The AI Edge is an Akraino approved blueprint family and part of Akraino Edge Stack, which intends to provide an open source MEC platform combined with AI capacities at the Edge, and could be used for safety, security, and surveillance. The MEC platform, which named ote-stack, targets on shielding the heterogeneous characteristics through underlying hardware virtualization and providing an unified access for cloud edge, mobile edge and private edge. In addition, the AI Edge utilizes the cluster management and intelligent scheduling of multi-tier clusters to enable low-latency, high-reliability and cost-optimal computing support for running AI applications at the edge. At the same time, it makes device-edge-cloud collaborative computing possible.

This blueprint mainly focus on building an edge manage platform with Integrated Edge Cloud(IEC) as infrastructure platform to implement the video security monitoring for School/Education on Arm servers in edge.

Use Case

Real time AI applications, which should be processed locally and securely, can be deployed on top of the OTE. Below are some brief descriptions of the apps.

...

The video surveillance application can target suspicious persons or objects entering the school through the support of the OTE platform. It can automatically record and generate the trajectory of suspicious target, follow the target rotation and trigger the alarm operation.

Where on the Edge

Business Drivers

The AI Edge will provide a cluster management for different logical MEC edge clusters. Through the standard api interface, the third clusters can join the management of AI Edge easily,  so as to schedule deployment of an AI application to a specific edge node with the unified access. The benefits are:  Lower cost on manage multiple edge clusters and more computing power of edge devices can be utilized ;  Less load and latencies on network and more safely since the application is running locally; Edge cluster autonomy.

Overall Architecture

The AI Edge blueprint architecture consists of a cluster control manager with web platform at the cloud and multiple edge clusters. The number of clusters can be theoretically unlimited which can effectively solve the management and scheduling problems of large-scale mobile edge clusters in 5G era. For development environment we have tested with one IEC clusters with 3 nodes.

...

The below image shows the overall architecture for using IEC as edge infrastructure in AI Edge. 

Platform Architecture

The detailed platform architecture of AI Edge blueprint is shown in the below diagram.

...

Other components, such as openapi, ote-web, are currently released as docker images and will be open source in the future.

Software Platform Architecture

The below image shows the software architecture for this release.

...

  • The global scheduler is fully compatible with kubernetes. Users can operate directly using kubectl;
  • Using websocket for the edge-cloud communication;
  • In addition to the cluster name, the cluster tag can be added customically. Cluster tag matching through intelligent cluster-selecter to achieve accurate routing of messages;
  • Through k8s-cluster-shim to achieve the management of kubernetes cluster, shielding the native implementation within the kubernetes cluster;
  • According to the interface of OTE-Stack, the cluster shim of the third party cluster can be realized to access and schedule the third party cluster. The internal implementation of the third party cluster is shielded;
  • Each layer can be used as a control entry to control all sub-clusters below this layer. Users can also use kubectl or API to implement custom cluster management and scheduling.

On the edge, OTE-Stack provides the ability to support node autonomy within the cluster.

architectureImage Modified

  • Use EdgeHub to take over the kubelet, kube-proxy or k3s agent components of the node.
  • EdgeHub provides load balancing capabilities for node requests.
  • During node autonomy, you can use EdgeController instead of node to complete node status reporting and updating.
  • EdgeHub and EdgeController have both the autonomy capabilities of k8s and k3s clusters.

OTE Components 

WebFrontend

WebFronted is a web portal which provides a graphical user interface to help users manage deployment in multiple clusters.

OpenAPI

OpenAPI is a HTTP server that accepts REST-like API requests and preprocess these requests in advance to determine whether they match the required criteria, then pass these request to the backend components for further processing.

Scheduler

Scheduler aims to schedule pod and resource across different clusters that belongs to user. This function will be available in the future and is not supported right now.

cluster-controller

ClusterController is a message connector which joins the multiple clusters. It consists of the following components:

...

    • Store the names and labels of all subclusters.
    • Establish routing rules that store the next hop cluster name to any sub-cluster to support accurate delivery of messages.
    • Notify the upper cluster in time when the sub-cluster changes (such as disconnection, status updates, etc.)
  • CloudTunnel
    Southbound interface of Controller. By establishing websocket connection with EdgeTunnel of sub-cluster, messages between clusters can be transmitted smoothly.

k8s-cluster-shim

It is an adapter of kubernetes cluster, which receives and parses cluster messages forwarded by OTE Cluster Controller, sends them to kubernetes cluster for corresponding processing, and returns the results and status to OTE Cluster Controller in time.

k3s-cluster-shim

It is an adapter of k3s cluster, which receives and parses cluster messages forwarded by OTE Cluster Controller, sends them to k3s cluster for corresponding processing, and returns the results and status to OTE Cluster Controller in time.

NodeAgent

It is deployed on edge nodes to retrieve data from cAdvisor and Node-Exporter which will be uploaded to NodesServer in edge clusters.

NodesServer

In the edge cluster, it is used to aggregate data of each node and provide it to Prometheus (Prometheus can also directly collect data of the node, but requires the node to open the corresponding ports)

DataQueryServer

Exposing Prometheus data as APIs to OpenAPI and Scheduler

VMController

Operations for a single VM, such as start, stop, etc.

EdgeHub

Proxy between master and node in the edge cluster.

EdgeController

It is used to take over the state management of the node when the node is disconnected from the master.

Software components

S.No.ComponentCategoryVersionLicense
1IEC Edge InfrastructureIntegrated Edge Cloud (IEC) Blueprint Family -R2Apache 2.0
2EtcdDatabasev3.3.18Apache 2.0
3HelmApplication Package Managerv2.13.1Apache 2.0
4MysqlDatabase>5.5GNU General Public License Version 2
5Node-exporterNode Metricsv0.18.1Apache 2.0
6PrometheusMonitoringv2.15.0Apache 2.0
7Fluent-bit Log Processor and Forwarder1.3Apache 2.0
8ElasticsearchLog Search Engine6.5.0Apache 2.0
9AlertmanagerMonitoringv0.20.0Apache 2.0
10

OTE WebFrontend

OTE component-Web Platform0.1.14Apache 2.0
11OTE OpenAPIOTE component-API Gateway0.1.5.8Apache 2.0
12OTE Cluster ControllerOTE component2.0Apache 2.0
13K8s-cluster-shimOTE component-Performer of Edge Cluster2.0Apache 2.0
14NodeAgentOTE component-Metrics Collector Agent2.0Apache 2.0
15NodeServerOTE component-Metrics Aggregation Service2.0Apache 2.0
16

DataQueryServer

OTE component-Metrics Search Service2.0Apache 2.0
17EdgeHubOTE component1.0Apache 2.0
18EdgeControllerOTE component1.0Apache 2.0

APIs

Video Security Monitoring R5 API Document

Hardware and Software Management

Software Management: Gerrit Repo

Licensing

  • Apache 2.0 license