MobiledgeX Edge-Cloud 3.0: Optimal Edge Connectivity with EdgeEvents

August 17th, 2021

Headshot for Vasanth Mohan

Vasanth Mohan

Developer Advocate

In last week's blog post by Wonho Park (“A Technical Overview of the MobiledgeX Edge-Cloud 3.0 Platform”) we promised to share more details about our MobiledgeX Edge-Cloud 3.0 release through a series of technical blogs. Our first blog post in the series discusses improved edge connectivity via MobiledgeX EdgeEvents for developers.  

As the telco edge continues to grow, the question of how client devices like smartphones, drones, and VR / AR headsets will connect to the edge and achieve the lowest possible latency continues to be asked. As part of MobiledgeX Edge-Cloud R2.0, MobiledgeX developed the Distributed Matching Engine (DME), which allows developers to answer this question through our simple APIs (RegisterClient and FindCloudlet) and native SDKs for Unity, Android, and iOS. Given the client's location and cellular connection, the Distributed Matching Engine can determine the best edge application instance and spin up a new application instance based on application auto-provisioning policies. However, due to the dynamic nature of the telco edge and changes on the client-side during application runtime, the solution provided for the best application instance may change. This raises the question; how does a client know when a better application instance is available for connection?

Starting with MobiledgeX Edge-Cloud R3.0, developers can now answer this question and more using MobiledgeX EdgeEvents. These events will inform clients of changes on the telco edge. They can correspondingly decide whether or not it makes sense for their application to switch to a different application instance. Clients can send updates regarding location or latency back to the DME to enable the DME to provide more accurate event updates. As updates are processed on MobiledgeX, the DME will be responsible for relaying those changes to clients as application events. 

Figure 1: A list of events sent between MobiledgeX Edge-Cloud and device applications.

Based on how developers today are using our SDKs and DME, we have identified five key areas where receiving an edge event would help improve application performance. These are events that a client device can expect to receive and react accordingly.  

  • CloserCloudlet: The client is closer to a different cloudlet on a Location Update

  • LatencyTooHigh: The latencyThreshold is exceeded on a Latency Update, and there is a different cloudlet with lower latency

  • CloudletStateChanged: The current cloudlet state has changed from CLOUDLETSTATEREADY

  • CloudletMaintenanceStateChanged: A cloudlet is currently undergoing maintenance and is not in normal operation

  • AppInstHealthChanged: A Health check on the application instance has failed 

Figure 2: A closer cloudlet event triggered in the MobiledgeX demo application.

Additionally, operators and developers may visualize how clients interact with the Distributed Matching Engine and adapt to the edge through the MobiledgeX Monitoring tools. Below is a screenshot of the Monitoring view that illustrates samples collected from various devices connecting to the edge from different geographical locations. This data is aggregated and anonymized as general Location Tiles to help developers get a bird's-eye view of the latency from specific geographical regions. 

Figure 3: Latency samples captured from EdgeEvents and displayed via the MobiledgeX monitoring dashboard.

Developers can then utilize these insights to make informed decisions on where they may need to scale up or down resources at the edge to minimize costs and maximize performance. For example, if developers notice a location is experiencing higher latency, they may consider distributing their application across more cloudlets via the MobiledgeX Auto-Provisioning Policy

For Operators, EdgeEvents provide significant new insights that enhance the Operator reporting capabilities also expanded with R3.0. Operators will be able to use EdgeEvents to gain greater intelligence, such as the type of network end-users are using to connect to developer applications (e.g. 4G or 5G), improve decision support such as where cloudlets are location in relation to user demand, as well as gain greater views into end-user experience and latency measurements. 

To get started with EdgeEvents, developers need to simply integrate any of our native SDKs and implement EdgeEvents Configs. This feature will be available at launch for Android and iOS SDKs and will be in beta for Unity developers. You can learn more about EdgeEvents in our Client SDK section on the MobiledgeX Developer Portal: https://developers.mobiledgex.com/sdks/edge-events-overview

To get started using MobiledgeX, head to the MobiledgeX Developer Portal and sign up for a time to chat with our developer advocate team on the Getting Started page.