MEC Mobile Edge Computing

Similar documents
Cloud platforms. T Mobile Systems Programming

Over-The-Top (OTT) Aggregation Solutions

Installing Cisco APIC-EM on a Virtual Machine

Installing Cisco VTS in a Linux - OpenStack Environment

Towards an SDN-based Mobile Core Networks (MCN)

ovirt Node November 1, 2011 Mike Burns Alan Pevec Perry Myers ovirt Node 1

Ixia Developer KVM over CentOS deployment and configuration steps:

Mobile Edge Computing:

Cisco Virtual Networking Solution for OpenStack

Accelerating 4G Network Performance

Cloud and Datacenter Networking

Installing or Upgrading ANM Virtual Appliance

Configure Windows VM to CGM-SRV Module on CGR1xxx

IEEE NetSoft 2016 Keynote. June 7, 2016

Cymmetria MazeRunner INSTALLATION GUIDE

The OnApp Cloud Platform

Virtual Mobile Core Placement for Metro Area BY ABHISHEK GUPTA FRIDAY GROUP MEETING JANUARY 5, 2018

Installing the Cisco CSR 1000v in VMware ESXi Environments

Agenda. Introduction Network functions virtualization (NFV) promise and mission cloud native approach Where do we want to go with NFV?

WIND RIVER TITANIUM CLOUD FOR TELECOMMUNICATIONS

Introduction to VPC-SI

Redhat OpenStack 5.0 and PLUMgrid OpenStack Networking Suite 2.0 Installation Hands-on lab guide

Installing Cisco VTS on a VMware Environment, page 6 Installing the Virtual Topology Forwarder, page 9 Verifying VTS Installation, page 14

kernels-in-kernels kernels within kernels by Lee Elston Version 1.0 c CC-BY SA4

Support up to 1000 times more capacity

FUJITSU Cloud Service K5 SF Service Functional Overview

LTE CONVERGED GATEWAY IP FLOW MOBILITY SOLUTION

Mobile Edge Computing

Cisco Modeling Labs OVA Installation

Red Hat Enterprise Linux 8.0 Beta

Installing the Cisco CSR 1000v in KVM Environments

F5 iworkflow and Linux KVM: Setup. Version 2.0.2

5G: an IP Engineer Perspective

Introduction to Virtualization

INTRODUCTION TO LTE. ECE MOBILE COMMUNICATION Monday, 25 June 2018

Leverage SDN Principles in LTE to Meet Future Network Demands

Scaling Internet TV Content Delivery ALEX GUTARIN DIRECTOR OF ENGINEERING, NETFLIX

INSTALLATION RUNBOOK FOR Triliodata + TrilioVault

Sample: Computer Network. Contents

The Edge of LTE. Deploying a MEC platform in today s networks. MEC Congress Munich, DE September SpiderCloud Wireless, Inc.

Virtual Services Container

OS10 Virtualization Guide. Enterprise Edition

Load Balancing Bloxx Web Filter. Deployment Guide v Copyright Loadbalancer.org

Service Boost: Towards On-demand QoS Enhancements for OTT Apps in LTE

Open-source library and tools to support the OVF.

Smart Net Total Care SNTC Deployment, Demo and Features. Hernani Crespi Technical Engagement Manager Oct 2014

Fast packet processing in the cloud. Dániel Géhberger Ericsson Research

Transparent Edge Gateway for Mobile Networks

Where is the Network Edge? MEC Deployment Options, Business Case & SDN Considerations

Cisco VDS Service Broker Software Installation Guide for UCS Platforms

Installing the Cisco IOS XRv 9000 Router in VMware ESXi Environments

Welcome to Linux Foundation E-Learning Training

UCS Technical Deep Dive: Getting to the Heart of the Matter

Building Applications with IOx

StorageGRID Webscale 11.1 Expansion Guide

PDP : A Flexible and Programmable Data Plane. Massimo Gallo et al.

Enterprise Network Compute System (ENCS)

Mobile Edge Compute in Brief. February 2014

Red Hat Enterprise Virtualization Hypervisor Roadmap. Bhavna Sarathy Senior Technology Product Manager, Red Hat

Corente Cloud Services Exchange

Cisco Nexus 1000V InterCloud

Towards 5G RAN Virtualization Enabled by Intel and ASTRI*

Virtual Mobile Core Placement for Metro Area BY ABHISHEK GUPTA FRIDAY GROUP MEETING NOVEMBER 17, 2017

Virtual Appliance Applications. Yao-Min Chen

Deployment Guide for Nuage Networks VSP

System Requirements. Things to Consider Before You Install Foglight NMS. Host Server Hardware and Software System Requirements

Deployment Guide for Nuage Networks VSP

Load Tester v11.2 Release Notes - Page 1 of 16 -

BIG-IP Virtual Edition and Linux KVM: Setup. Version 12.1

How to Deploy a VHD Virtual Test Agent Image in Azure

Netaxis Solutions SIGMA

Acronis Backup & Recovery 11.5

How to Deploy an OVA Virtual Test Agent Image in VMware

Mobile Edge Computing

Deploy the ASAv Using KVM

Features. HDX WAN optimization. QoS

Scrutinizer Virtual Appliance Deployment Guide Page i. Scrutinizer Virtual Appliance Deployment Guide. plixer

5G Network Architecture

vsphere Replication for Disaster Recovery to Cloud vsphere Replication 8.1

Deliverable D6.2 VNF/SDN/EPC: integration and system testing

Build Nested Openstack. Using Ubuntu as BaseOS on BareMetal

Nokia Cloud Mobile Gateway

vedge Cloud Datasheet PRODUCT OVERVIEW DEPLOYMENT USE CASES EXTEND VIPTELA OVERLAY INTO PUBLIC CLOUD ENVIRONMENTS

Welcome to Linux Foundation E-Learning Training

Display Modules (DL-DM) Application Developer's Guide

VirtualBox. Turning one computer into many. 0. Contents. 1. What is Virtualization? 2. Uses for Virtualization. Jonathan Marsden.

Next Gen Virtual Switch. CloudNetEngine Founder & CTO Jun Xiao

Welcome to Linux Foundation E-Learning Training

System Requirements. Hardware and Virtual Appliance Requirements

Deploying the LANGuardian Virtual Appliance on VMware ESXi 6.5

Dell EMC Ready Solution for VMware vcloud NFV 3.0 OpenStack Edition Platform

It s Time to Aim Lower Zero Latency at the Edge

IxLoad LTE Evolved Packet Core Network Testing: enodeb simulation on the S1-MME and S1-U interfaces

Extreme Networks Session Director

Integrating NetScaler ADCs with Cisco ACI

Introduction of ASTRI s Network Functions Virtualization (NFV) Technologies. ASTRI Proprietary

Load Balancing Microsoft IIS. Deployment Guide v Copyright Loadbalancer.org

UCS Management Architecture Deep Dive

Load Balancing Censornet USS Gateway. Deployment Guide v Copyright Loadbalancer.org

Virtual CDN Implementation

Transcription:

MEC Mobile Edge Computing Aalto University, T-110.5130 Mobile Systems Programming Timo Knuutila (timo.knuutila@nsn.com), Petteri Pöyhönen (petteri.poyhonen@nsn.com) 14-01-2015 1

Agenda MEC in general Nokia approach to MEC Sample applications Network environment for the course MEC Programming in RACS environment

MEC in general Cloud data center somewhere 0-100km / x ms 0-6000km / x0 ms x ms Operator core network MEC motivation Bridge the delay of physical disrance Keep local data local Lower long distance bandwidth requirement

Nokia approach to MEC Nokia Liquid Apps concept AppFactory Application and software management Samples

Liquid Apps: Why at the mobile edge? Content at the place where people connect Process data at its source before it gets big Immediately capture value from real-time network data to contextualize applications Maximize speed and interactivity from being as close as you can get to the customer Seamless mobile network integration Telco-grade robustness and security State-of-the-art middleware for highly distributed application environments

Radio Access Cloud Server (RACS) Optimized for standard 3GPP functions Fully programmable Built around the telco lifecycle Datacenter-like flexibility Data in/data out functionality Computing, storage and contextual data extraction Signal processing Edge computing

Nokia approach to MEC Nokia Liquid Apps concept AppFactory Application and software management Samples

AppFactory AppFactory process for 3rd parties to create LiquidApps running in RACS environment. Decouples the applications and the RACS platform releases. Different life cycles according to different factors. Well defined process ensures the SW quality both from application developer and Nokia point of view.

AppFactory Each application uses the same set of APIs according to their needs. Additionally, there could be application specific APIs for out of band communication for instance. AppFactory supports 3rd party developers through the application development process and provides testing facilities. No need for 3rd parties to invest own testing infra.

Nokia approach to MEC Nokia Liquid Apps concept AppFactory Application and software management Samples

OSS for Liquid Applications FM= Fault Mgmt PM= Perf. Mgmt AFM= Application Framework Mgmt FM FM (SNMP) (SNMP) TTP TTP configuration configuration (CM) (CM) TTP TTP policy policy configuration configuration (CM) (CM) AFM Application Application deploy/undeploy/undeploy/start/stop deploy/start/stop (SWM) (SWM) Application Application properties properties configuration configuration (CM) (CM) NetAct FM FM (SNMPv2 (SNMPv2 traps) traps) PM PM (SNMPv2 (SNMPv2 GET) GET) FM FM (NE3S/WS (NE3S/WS via via RACS) RACS) PM PM (NE3S/WS (NE3S/WS via via RACS) RACS) RACS RACS Switch Switch FM FM (SNMPv2 (SNMPv2 traps) traps) PM (SNMPv2 PM (SNMPv2 GET) GET) RACS RACS TCPHE TCPHE RACS RACS // TCP TCP HE HE FM FM (NE3S/WS), (NE3S/WS), includes includes TTP TTP monitoring monitoring and and application application heartbeat heartbeat monitoring monitoring PM PM (NE3S/WS), (NE3S/WS), includes includes TTP TTP measurements measurements CM CM (NE3S/WS) (NE3S/WS) SWM SWM (NE3S/WS) (NE3S/WS) Mobile Mobile Backhaul Backhaul UE enb RACS RAN RACS-T Core SAE-GW RACS-C INTERNE INTERNE T T Server

SWAM Integration for Liquid Applications with AFM Automated Charging of Application deployment Centralized Software Asset Management for RACS with NetAct License Manager Asset Reporting of Applications deployed in RACS throughout the network Activated feature list, feature ID and feature name Deployed Applications current count Delta count Reporting and report forwarding Appl. Package AFM RACS Application Platform activate apps & features (change App Properties) Report ASPN Report feature usage status along with sales item credentials RACS base platform deploy NetAct SWAM SWAM= SW Asset Mgmt

Nokia approach to MEC Nokia Liquid Apps concept AppFactory Application and software management Sample apps

Animated Acceleration application area overview UE Large object delivery with Content Extender (optional Core caching) RACS GW Small object delivery with Site Accelerator through enb edge caching or local break-out Content Radio throughput guidance and real time positioning for service optimization

Network environment for the course NetLeap Network Emulated network

NetLeap / Network environment for the course Joint initiative with Nokia Networks and Aalto IT. Network for research and development use in mobile environment. Users get unlimited usage of LTE capacity and features for application development and testing. The network uses 2.6GHz frequency in Otaniemi. Dedicated indoor coverage is in OIH, Startup Sauna and Computer Science Building. Using this LTE network requires special SIM-cards that can be obtained from Aalto IT.

NetLeap Network Karaportti Campus SEC Cloud Cloud Edge Edge Computing Computing (RACS) (RACS) Innovation lab Espoo MME pool Network management UFM NetAct CAM Netleap network in Otaniemi campus Netleap Netleap Cloud Cloud OSR OSR Openstack Openstack MME MME & & GW GW Säterinportti Campus 2nd 2nd Core Core Site Site OSR Openstack OSR Openstack MME MME & & GW GW vcloud vcloud IMS/TAS* IMS/TAS* EETelcoCloud *IMS/TASQ3 2014

Network environment for the course NetLeap Network Emulated network

Emulated mobile network AFM Web server enb emulator Terminal (phone/tablet) EPC emulator

Agenda MEC in general Nokia approach to MEC Sample applications Network environment for the course MEC Programming in RACS environment

MEC Programming in RACS environment Work Scope in AppFactory Process RACS Application Overview RACS Services Application Types User Plane Service Application Integration RACS Application Specifics Development Process VM Development Environment Application VM Development Support

Work Scope in AppFactory Process Main Scope

MEC Programming in RACS environment Work Scope in AppFactory Process RACS Application Overview RACS Services Application Types User Plane Service Application Integration RACS Application Specifics Development Process VM Development Environment Application VM Development Support

RACS Application Overview

RACS Application Overview Backend Server could be located at the operator network or it could be hosted by a 3rd party, i.e., somewhere in Internet.

RACS Application Overview External usage is an example of how to use inbound signaling to communicate with an external application. Alternatively, out of band signaling, i.e., a dedicated signaling channel, could have been used.

MEC Programming in RACS environment Work Scope in AppFactory Process RACS Application Overview RACS Services Application Types User Plane Service Application Integration RACS Application Specifics Development Process VM Development Environment Application VM Development Support 28

RACS Services 29 An application can use RACS specific value added services; Cell related services Number of users Cell load User related services Cell ID Throughput Guidance (TG) Location related services User location Users in area Based on the UE's IP, various UE related info can be fetched using these services.

RACS Services 30 Services available via MQTT (MQ Telemetry Transport)[1] based Message Bus (MB). MQTT a lightweight broker-based publish/subscribe messaging protocol. Application subscribes the preferred topics and then starts to listen new events. Service ( producer ) publishes new events to MB via which they are delivered to the subscribers.

RACS Services 31

MEC Programming in RACS environment Work Scope in AppFactory Process RACS Application Overview RACS Services Application Types User Plane Service Application Integration RACS Application Specifics Development Process VM Development Environment Application VM Development Support 32

Application Types 33 Transparent/pass-through applications. User plane UpLink (UL) and/or DownLink (DL) traffic is intercepted by an application. Intercepted packets can be monitored, modified, etc. Data session is between UE and server. Offloading rules (application specific) define what traffic is rerouted to the VM. Terminating application. An application acts as a server towards UEs. An application has a unique IP address reachable outside of the RACS and has FQDN(s) in the operator's DNS.

Application Types 34

MEC Programming in RACS environment Work Scope in AppFactory Process RACS Application Overview RACS Services Application Types User Plane Service Application Integration RACS Application Specifics Development Process VM Development Environment Application VM Development Support 35

User Plane Service 36 Bridges 3GPP SIPTO (Selected IP Traffic Offload) to VMs, providing a Virtual NIC (vnic) for applications. Pass-through applications can intercept up- and downlink traffic, potentially modifying or shaping it, and sending back to original PDP context. The IP routed format delivers endto-end packets from/to UE "as is", without any outer encapsulations.

User Plane Service 37

User Plane Service 38 Offloading rule could be as simple as <4==ip_version && proto==tcp && (80==dst_port 8080==dst_port)> for uplink traffic More fine grained rules based on L4+ info has to be implemented in the application.

MEC Programming in RACS environment Work Scope in AppFactory Process RACS Application Overview RACS Services Application Types User Plane Service Application Integration RACS Application Specifics Development Process VM Development Environment Application VM Development Support 39

Application Integration All applications must send a heartbeat signal at a predefined rate. Sending this heartbeat indicates that the application is not only available, but also running correctly and either continuing to process work or preparing to do so and not in need of reset. The correct action to restart the application is taken. This may result in an escalation, if the application cannot be restarted. Bypass any application traffic until the application is available again. Application VM also must synchronize itself using NTP. 40 The heartbeat does not indicate that all services provided by the application are ready to process work immediately so the heartbeat should not be used to indicate service availability. In the event of an application failure the heartbeat function ensures that: UDP based protocol (example Python client available). Example Python client available.

Application Integration 41 Application specific XML files define various application properties like: Application identity related info. Offloading rules (what traffic is offloaded). Network resources (vnics and their configuration). Computing (CPUs, etc.). Storage (storage capacity, mount points, etc.). Port forwarding ( X->Y, i.e., packets outside of the VM destined to port X should be forwarded to VM's port Y). For instance, to access application VM's SSHD, instead of using port 22, one would use something like 29001 port instead.

MEC Programming in RACS environment Work Scope in AppFactory Process RACS Application Overview RACS Services Application Types User Plane Service Application Integration RACS Application Specifics Development Process VM Development Environment Application VM Development Support 42

RACS Application Specifics 43

MEC Programming in RACS environment Work Scope in AppFactory Process RACS Application Overview RACS Services Application Types User Plane Service Application Integration RACS Application Specifics Development Process VM Development Environment Application VM Development Support 44

Development Process 45 Liquid App's VM is based on KVM (Kernel-based Virtual Machine). Each (Liquid App) application runs in a dedicated VM. Applications can be developed in any programming language as long as it runs on a standard KVM's VM. For multi-process applications, some parts can even run outside of RACS, i.e., in a backend server. VM should run RedHat based distro; CentOS 6.5 is recommended. VM creation environment can be also non-redhat based distro like Ubuntu. VM creation environment (e.g., Ubuntu OS) can be a VM itself as long as nested virtualization is supported by the used hypervisor. Note that, for instance, VirtualBox does not support this.

Development Process 46 When designing the application, the following aspects should be considered; Internal communication over vnics, Communication with external/3rd party entities and Application type (transparent or terminating). What traffic DL/UL (in terms of src/dst IP address spaces, src/dst ports, protocol types, etc.) should be offloaded. These packet policy rules are part of the application specific configuration. Application specific FW rules. Restricted resources for a VM; A single logical CPU and 1GB RAM.

Development Process 47 For transparent/pass-through applications, it is application specific decision on how to intercept incoming data from vnic(s) and deliver it to the entity processing it. For instance, various packet filter mechanisms, e.g, BPF (Berkley Packet Filter), can be used. Where the intercepted packets are processed, i.e., user space vrs. kernel space, is again application specific decision. Additionally, the intercepted packets could be processed in backend server(s).

MEC Programming in RACS environment Work Scope in AppFactory Process RACS Application Overview RACS Services Application Types User Plane Service Application Integration RACS Application Specifics Development Process VM Development Environment Application VM Development Support 48

VM Development Environment 49 We have tested CentOS 6.5, Ubuntu 12.04 and Ubuntu 14.04. Other main distros like Fedora, Mint, Debian and so on should also work assuming that required SW packages/tools are available (see below). For creating a new VM devel OS; Install Ubuntu 14.04 (a basic installation). Install extra packages (isomd5sum, libvirt0, libvirt-bin, libvirtodbc0, python-libvirt, virt-manager, virt-viewer, virtinst, kvm, python-software-properties and libguestfs-tools). Install mosquitto (http://mosquitto.org/download/). Update guestfs appliances ($>sudo update-guestfs-appliance). Edit /etc/libvirt/qemu.conf and set user & group as "root" and restart libvirt-bin ($>sudo stop libvirt-bin; sudo start libvirt-bin).

MEC Programming in RACS environment Work Scope in AppFactory Process RACS Application Overview RACS Services Application Types User Plane Service Application Integration RACS Application Specifics Development Process VM Development Environment Application VM Development Support 50

Application VM Applications are packaged as defined by the DMTF Open Virtualization Format (OVF) specification V2.0. Packages are provided as an Open Virtualization Archive (OVA) file (OVF Specification 2.0 (DSP0243 2.0.0)). The OVA file is packaged as a TAR archive, and contains the following files: 51 An OVF descriptor (.ovf XML file). An OVF manifest file (.mf), which lists the SHA-256 digests of all of the other files in the OVA, as specified by the OVF specification v2.0. An OVF certificate file (.cert), which contains a certificate, along with a signature of the manifest as defined by the OVF specification v2.0. One VM disk image in QCOW2 format. This must always be a boot disk image. There must not be additional data disk images. Additionally, if the application uses any MQTT services, then an authorization policy file should be included with pathname auth/acl.xml.

Application VM 52 Basically the (simplified) VM creation procedure goes as follows: Create a basic VM image, e.g., perform automated (using kickstart) CentOS 6.5 minimum installation. Mount the created VM. Copy the application and all needed SW packages, i.e., all application SW dependencies not already present in the basic installation. Construct application config file. Encapsulate everything into OVA file. All these steps can be scripted (as done for instance by a sample GoOn app): $>sudo./build-app.sh --name GoOn --in /home/test/centos-6.5-x86_64bin-dvd1.iso $>sudo./build-ova.sh --ovf GoOn.ovf --image GoOn.qcow2 --privatekey ca.root.key --certificate ca.root.crt

Application VM Once the application VM is created, it can be locally mounted and accessed; To stop and undefine the VM; 53 1. Define the virtual machine. $>virsh define <App_Name>.xm l, where App_Name is the name of your application, e.g., GoOn. 2. Start the virtual machine running your application image. $>virsh start <App_Name>. 3. Start the virtual machine console. $>virsh console <App_Name>. 4. Stop the virtual machine running your application image. $>virsh shutdown <App_Name>. 5. Undefine the virtual machine. $>virsh undefine <App_Name>. Alternatively, you can also use the GUI ( $>virt-manager ) to do the same things.

MEC Programming in RACS environment Work Scope in AppFactory Process RACS Application Overview RACS Services Application Types User Plane Service Application Integration RACS Application Specifics Development Process VM Development Environment Application VM Development Support 54

Development Support Nokia provides Applications Developer s Guide - a comprehensive user and reference manual for RACS application design & implementation. There is a sample app (GoOn), which is terminating echo server application using a one RACS's service via MQTT. 55 [Reference to be provided] Verification is done using R&D certificates. Provides a working example of RACS integration. [Reference to be provided]