Collaborative Mobile Edge Computing in 5G Networks

Mobile applications are adopted and growing for every industry and market segment such as entertainment, business, education, health care, social networking, etc. Increased wireless application adoption is creating growth in mobile data traffic. As a result, Mobile data traffic is predicted to continue doubling each year. To keep up with these surging demands, network operators have to spend enormous efforts to improve users’ experience, while keeping a healthy revenue growth. To overcome the limitations of current Radio Access Networks (RANs), the two emerging paradigms have been proposed:

(i) Cloud Radio Access Network (C-RAN), which aims at the centralization of Base Station (BS) functions via virtualization

(ii) Mobile Edge Computing (MEC), which proposes to empower the network edge.

While the two technologies propose to move computing capabilities to different direction (to the cloud versus to the edge), they are complementary and each has a unique position in the 5G ecosystem.

Fig-1 Mobile Edge Computing

As depicted in Fig. 1, MEC servers are implemented directly at the BSs using generic-computing platform, allowing the execution of applications in close proximity to end users. With this position, MEC can help fulfill the stringent low-latency requirement of 5G networks. Additionally, MEC offers various network improvements, including: (i) optimization of mobile resources by hosting compute-intensive applications at the network edge, (ii) pre-processing of large data before sending it (or some extracted features) to the cloud, and (iii) context-aware services with the help of RAN information such as cell load, user location, and allocated bandwidth. Although MEC principle also aligns with the concept of fog computing and the two are often referred to interchangeably, they slightly differ from each other. While fog computing is a general term that opposes with cloud computing in bringing the processing and storage resources to the lower layers, MEC specifically aims at extending these capabilities to the edge of the RAN with a new function splitting and a new interface between the BSs and upper layer. Fog computing is most commonly seen in enterprise-owned gateway devices whereas MEC infrastructure is implemented and owned by the network operators.
Fueled with the potential capabilities of MEC, we propose a real-time context-aware collaboration framework that lies at the edge of the cellular network and works side-by-side with the underlying communication network. In particular, we aim at exploring the synergies among connected entities in the MEC network to form a heterogeneous computing and storage resource pool. To illustrate the benefits and applicability of MEC collaboration in 5G networks, we present three usecases including mobile-edge orchestration, collaborative video caching and processing, and multi-layer interference cancellation. These initial target scenarios can be used as the basis for the formulation of a number of specific applications.

CASE STUDY: COLLABORATIVE VIDEO CACHING AND PROCESSING

Mobile video streaming traffic is predicted to account for 72% of the overall mobile data traffic by 2019, posing immense pressure on network operators. To overcome this challenge, edge caching has been recognized as a promising solution, by which popular videos are cached in the BSs or access points so that demands from users to the same content can be accommodated easily without duplicate transmission from remote servers. This approach helps substantially reduce backhaul usage and content access delay. While content caching and delivery techniques in wireless networks have been deployed extensively, existing approaches rarely exploit the synergy of caching and computing at the cache nodes. Due to the limited cache storage at individual BSs, the cache hit rate is still moderate.

With the emergence of MEC, it is possible to not only perform edge caching but also edge processing with artificial intelligence. Our approach will leverage edge processing capability to improve caching performance/efficiency. Such joint caching, processing and artificial intelligence solution will trade off  storage and computing resources with backhaul bandwidth consumption, which directly translates into sizable network cost saving. See figure

Figure – MEC-processing for Video Optimization

Due to the heterogeneity of user-device processing capabilities and the varying of network connections, user preference and demand towards a specific video might be different. For example – Based on terrain information of area based on anonymously-coded location of the user-device and history of data-performance in a certain location, optimum data-rate options for a video streaming to a user can be estimated. AI-enabled MEC Solution can help create a highly differentiated user video experience by an operator instead of simply acting as a bit-pipe. Video content distribution can become integral part of operator network with value-added or localized services based on the location of MEC-server on which video content distribution is running. Example of localized video content at MEC is – Educational content, Local News, Local business information & reviews etc.

Case Study – Mobile Edge Collaboration

In spite of the limited resources (e.g., battery, CPU, memory) on mobile devices, many computation-intensive applications from various domains such as computer vision, machine learning, and artificial intelligence are expected to work seamlessly with real-time responses. However, the traditional way of offloading computation to the remote cloud often leads to unacceptable delay and heavy backhaul usage. Owing to its distributed computing environment, MEC can be leveraged to deploy applications and services as well as to store and process content in close proximity to mobile users. This would enable applications to be split into small tasks with some of the tasks performed at the local or regional clouds as long as the latency and accuracy are preserved. In this case study, we envision a collaborative distributed computing framework where resource-constrained end-user devices outsource their computation to the upper-layer computing resources at the edge and cloud layers. Our framework extends the standard MEC originally formulated by ETSI, which only focuses on individual MEC entities and on the vertical interaction between end-users and a single MEC node. Conversely, our proposed collaborative framework will bring many individual entities and infrastructures to collaborate with each other in a distributed system. In particular, our framework oversees a hierarchical architecture consisting of:

  1. end-user, which implies both mobile—and static—end-user devices such as smart phones, sensors, actuators,
  2. edge nodes, which are the MEC servers co-located with the BSs, and
  • cloud node, which is the traditional cloud-computing server in a remote datacenter.

Our novel resource-management framework lies at the intermediate edge layer and orchestrates both the horizontal collaboration at the end-user layer and the MEC layer as well as the vertical collaboration between end-users, edge nodes, and cloud nodes. The framework will make dynamic decisions on “what” and “where” the tasks in an application should be executed based on the execution deadline, network conditions, and device battery capacity. See figure below for the example of Mobile-edge collaboration use-cases in which AI-enabled MEC can be used.

Figure – (a) Computer Vision Use-Case (b) Health-Care use-case collaboration

In contrast, AI-enabled MEC introduces a new stage of intelligent processing such that the edge nodes can analyze the data from nearby user-devices and notify cloud node for further processing only when there is a significant change in data or accuracy of results. In addition, sending raw-sensor values from end-users to the edge layer can overwhelm the fronthaul links, hence, depending on the storage and compute capabilities of user devices, information processing of other near-by devices and the network conditions, the AI-enabled MEC can direct the user devices to extract features from the raw-data before sending to the edge nodes.

Three software stacks for IoT Solutions

A typical IoT solution is characterized by many devices (i.e. things) that may use some form of gateway to communicate through a network to an enterprise back-end server that is running an IoT platform that helps integrate the IoT information into the existing enterprise. The roles of the devices, gateways, and cloud platform are well defined, and each of them provides specific features and functionality required by any robust IoT solution.

Stack for Constrained Devices: Sensors and Actuators

The “Thing” in the IoT is the starting point for an IoT solution. It is typically the originator of the data, and it interacts with the physical world. Things are often very constrained in terms of size or power supply; therefore, they are often programmed using microcontrollers (MCU) that have very limited capabilities. The microcontrollers powering IoT devices are specialized for a specific task and are designed for mass production and low cost.

The software running on MCU-based devices aims at supporting specific tasks. The key features of the software stack running on a device may include

  1. IoT operating system – many devices will run with ‘bare metal’, but some will have embedded or real-time operating systems that are particularly suited for small constrained devices, and that can provide IoT-specific capabilities.
  2. Hardware abstraction – a software layer that enables access to the hardware features of the MCU, such as flash memory, GPIOs, serial interfaces, etc.
  3. Communication support – drivers and protocols allowing to connect the device to a wired or wireless protocol like Bluetooth, Z-Wave, Thread, CAN bus, MQTT, CoAP, etc., and enabling device communication.
  4. Remote management – the ability to remotely control the device to configure rules or commands, to upgrade its firmware or to monitor its battery level.
  5. Rule based Intelligence – Device can be configured with rules (Intelligence) and thresholds to trigger or act based on parameters monitored by device

 

Fig – IoT Sensor Software Stack

Stack for Gateways: Connected and Smart Things

The IoT gateway acts as the aggregation point for a group of sensors and actuators to coordinate the connectivity of these devices to each other and to an external network. An IoT gateway can be a physical piece of hardware or functionality that is incorporated into a larger “Thing” that is connected to the network. For example, an industrial machine might act like a gateway, and so might a connected automobile or a home automation appliance.

An IoT gateway will often offer processing of the data at the ‘edge’ and storage capabilities to deal with network latency and reliability.

IoT gateways are becoming increasingly dependent on software to implement the core functionality. The key features of a gateway software stack include:

  1. Operating system – typically a general purpose operating system such as Linux.
  2. Application container or run-time environment – IoT gateways will often have the ability to run application code, and to allow the applications to be dynamically updated. For example, a gateway may have support for Java, Python, or Node.js.
  3. Communication and Connectivity – IoT gateways need to support different connectivity protocols to connect with different devices (e.g. Bluetooth, Wi-Fi, Z-Wave, ZigBee). IoT Gateways also need to connect to different types of networks (e.g. Ethernet, cellular, Wi-Fi, satellite, etc.…) and ensure the reliability, security, and confidentiality of the communications.
  4. Data management & Messaging – local persistence to support network latency, offline mode, and real-time analytics at the edge, as well as the ability to forward device data in a consistent manner to an IoT Platform.
  5. Remote management – the ability to remotely provision, configure, startup/shutdown gateways as well as the applications running on the gateways.
  6. Rule Based Intelligence – provides rules on data-processing events and acting on events/data based on threshold based rules configured and running on gateways.

Fig – IoT Gateway Stack

IoT Gateway satck can be combined with NB-IoT or CAT-M or LoRA wireless access-point to create an IoT-network solution.

Stack for IoT Cloud Platforms

The IoT Cloud Platform represents the software infrastructure and services required to enable an IoT solution. An IoT Cloud Platform typically operates on top of Openstack or Container Cloud platform running on Server-HW and is expected to scale both horizontally, to support the large number of devices connected, as well as vertically to address the variety of IoT solutions. The IoT Cloud Platform will facilitate the interoperability of the IoT solution with existing enterprise applications and other IoT solutions.

The core features of an IoT Cloud Platform include

  1. Connectivity and Message Routing – IoT platforms need to be able to interact with very large numbers of devices and gateways using different protocols and data formats, but then normalize it to allow for easy integration into the rest of the enterprise.
  2. Device Management and Device Registry – a central registry to identify the devices/gateways running in an IoT solution and the ability to provision new software updates and manage the devices.
  3. Data Management and Storage – a scalable data store that supports the volume and variety of IoT data.
  4. Event Management, Analytics & UI – scalable event processing capabilities, ability to consolidate and analyze data, and to create reports, graphs, and dashboards.
  5. Intelligence based on Data Analytics – Rules based intelligence based on analyzed / consolidated data
  6. Application Enablement – ability to create reports, graphs, dashboards, … and to use API for application integration.

Fig – IoT Cloud Platform

Cross-Stack Functionality

 

Across the different stacks of an IoT solution are a number of features that need to be considered for any IoT architecture, including:

  1. Security – Security needs to be implemented from the devices to the cloud. Features such as authentication, encryption, and authorization need be part of each stack.
  2. Ontologies – The format and description of device data is an important feature to enable data analytics and data interoperability. The ability to define ontologies and metadata across heterogeneous domains is a key area for IoT.
  3. Development Tools and SDKs – IoT Developers will require development tools that support the different hardware and software platforms involved.

Key characteristics for IoT Stacks

There are some common characteristics that each IoT stack should embrace, including

  1. Loosely coupled – Three IoT stacks have been defined but it is important that each stack can be used independently of the other stacks. It should be possible to use an IoT Cloud Platform from one supplier with an IoT Gateway from another supplier and a third supplier for the device stack.
  2. Modular – Each stack should allow for the features to be sourced from different suppliers.
  3. Platform-independent – Each stack should be independent of the host hardware and cloud infrastructure. For instance, the device stack should be available on multiple MCUs and the IoT Cloud Platform should run on different Cloud PaaS.
  4. Based on open standards – Communication between the stacks should be based on open standards to ensure interoperability.
  5. Defined APIs – Each stack should have defined APIs that allow for easy integration with existing applications and integration with other IoT solutions

Conclusion

IoT Solution is an integration and system development project using COTS HW as much as possible and different IoT software pieces to create a vertical end-to-end solution for deployment or trial.