We will be showcasing our CETO (Centralized Emergency Traffic Optimizer), a V2X and connected cars use case utilizing mobile edge computing framework using edge and centralized computing and analytics engine. This use case will showcase how edge traffic control engine is used to find the shortest path and create fastest traffic route for emergency vehicles by clearing the traffic of each traffic junction before the emergency vehicle arrives at the junction. To calculate the path, it considers the current density of each traffic junction and predicted density on each junction on the emergency vehicle suggested using the analytics engine running on the edge node. Assuming all cars are connected cars, It also connects to each car to suggest an alternative route to their destination if the car is on the same path as ambulance to reduce traffic congestion and faster route for all the vehicles at the same time. There are three ways to show case it,
1) Using our cloud ran, MME, UE and Intel's MEC which will be deployed on their network. The challenge in this approach is we are still not very clear on the connectivity part during the hands-on session - i..e, connectivity of the laptop at the premise to the server that will run remotely in your New Mexico lab. Once we test this, we will be sure.
2) Complete our own setup including MEC on our own laptop - this will be the backup with very limited features.
6. 6
ETSI MEC Architecture
Ref Point Mm5 - Interface between
mobile edge platform and
mobile edge platform level
manager
Ref Point Mp1 - Interface between
mobile edge application and
mobile edge platform.
Data Plane – DPDK enabled edge
Data Plane and policy
control
DPDK
10. 10
Application Configuration
URL : /appliance/v1/configuration
Method: POST
Content-Type : application/json
Sample Request Body:
Response Header:
"status": "200",
"transfer-encoding":
"chunked",
"server": "nginx/1.9.9",
"connection": "keep-alive",
"date": <date>,
"content-type":
"application
Response Body
{
"result": "OK"
}
API Type: Mandatory
• Instantiate the Virtualized Resource using
Virtual infrastructure.
• Send MEApp policy configuration request
to ME platform.
• ME Platform registers it and confirms back
11. 11
Application Termination
Request Header and Body
Procedure Termination Request
URL /appliance/v1/termination
Method POST
Content Type application/json
Body
{
"appid": "appid001",
"gracefulTerminationTimeout": 5
}
Response Header & Body
Body
{
"result": "OK"
}
API Type: Mandatory
• Sends Application Termination request to ME Platform with appid
and timeout value (in seconds)
• ME Platform notifies to ME App to start the termination process
and waits until timeout value.
12. 12
Manager Connection Establishment
API Type: Mandatory
• Required to receive notifications from ME
Platform
URL /appliance/v1/notifications/memanager
Method GET
Schemes ws
Request Body : NA
Response Body : NA
Termination Notification Details
Key Type Description
ID Event-ID TerminationNotification
Data String Application ID
13. 13
Agenda
Mobile Edge Computing & NEV SDK - Overview
NEV SDK – Management APIs
NEV SDK – MEApp APIs
NEV SDK – Traffic Routing
Quick Hands on
TCS’s MEC Use case Demo
14. 14
NEV SDK – MEApp APIs | Mp1 Reference Point
Procedure Name URL Method Qualification
Live Indicator /appliance/v1/live_apps POST mandatory
Termination Indicator /appliance/v1/live_apps DELETE mandatory
Connection Establishment /appliance/v1/notifications/{RefID} GET mandatory
Service Activation /appliance/v1/service POST mandatory
Service Deactivation /appliance/v1/service/{serviceId} DELETE optional
Service Discovery /appliance/v1/service GET mandatory
Service Subscription /appliance/v1/subscriptions/{serviceId} GET mandatory
Subscriptions Update /appliance/v1/subscriptions PUT mandatory
Service Unsubscription /appliance/v1/subscriptions/{serviceId} DELETE optional
Subscriptions Reset /appliance/v1/subscriptions DELETE optional
Service Data Update /appliance/v1/notifications POST mandatory
15. 15
Live Indicator
API Type: Mandatory
• Required to authenticate with ME Platform
• ME Platform sends Reference ID which shall be used in
subsequent request
Sample Ref ID:
f01451f7e62a6167f25b9f674bdd5b3e91e9812245b230e14ff3b37447f6d21
REQUEST HEADER
URL : /appliance/v1/live_apps
Method: POST
Content-Type : application/json
REQUEST BODY
{
"appid": "appid001",
"secret": "secret001",
"type": "MEAPPSERVICE"
}
RESPONSE HEADER
{
"status": "200",
"transfer-encoding": "chunked",
"set-cookie": "SESSID=<Reference ID>",
"server": "nginx/1.9.9",
"connection": "keep-alive",
"date": <date>,
"content-type": "application/json"
}
RESPONSE BODY
{
"result": "OK"
}
16. 16
Termination Indicator
REQUEST HEADER
Procedure Termination Indicator
URL /appliance/v1/live_apps
Method DELETE
Content Type N/A
Cookie SESSID=< Reference ID >
Request Body N/A
RESPONSE HEADER
{
"status": "200",
"transfer-encoding": "chunked",
"set-cookie": "SESSID=<Reference ID>",
"server": "nginx/1.9.9",
"connection": "keep-alive",
"date": <date>,
"content-type": "application/json"
}
RESPONSE BODY
{
"result": "OK"
}
API Type: Mandatory
• Required to terminate the ME App from ME Platform
• ME Platform sends Reference ID which shall be used in
subsequent request
17. 17
Connection Establishment
API Type: Mandatory
• Required to receive notifications from ME
Platform to receive push messages
URL /appliance/v1/notifications/{RefID}
Method GET
Schemes ws
Request Body : NA
Response Body : NA
Termination Notification Details
Key Type Description
ID Event-ID TerminationNotification
Data String Application ID
RefID : Reference ID from the live_Indicator API
18. 18
Service Activation
REQUEST HEADER
URL /appliance/v1/service
Method POST
Content Type application/json
Cookie SESSID=< Reference ID >
API Type: Mandatory
• Required to activate specific service
on ME Platform
• ME Platform sends Service ID for
future reference
RESPONSE BODY
{
"result": "OK",
"serviceId": "<serviceId>"
}
19. 19
Service Deactivation
REQUEST HEADER
URL /appliance/v1/service/{serviceId}
Method DELETE
Content Type N/A
Cookie SESSID=< Reference ID >
REQUEST BODY : NA
API Type: Mandatory
• Required to deactivate the service the ME App from
ME Platform
• ME Platform stops sending the notifications
20. 20
Service Discovery
Procedure Service Discovery Request
URL /appliance/v1/service
Method GET
Content Type N/A
Cookie SESSID=< Reference ID >
Request Body N/A
Response Body
{
"result": "OK",
"services": [
{
"endPoint": "127.0.0.1",
"providerAppId": "appid001",
"serviceId": "<serviceId>",
"serviceName": "service001",
"version": "1.0.0"
}
]
}
API Type: Mandatory
• Discover the availability of its subscribable services on the ME
Platform
• ME Platform returns a list of the available services that the ME
App/ME App Service may subscribe to
21. 21
Service Subscription
URL /appliance/v1/subscriptions/{serviceId}
Method GET
Content Type application/json
Cookie SESSID=< Reference ID >
Request Body N/A
RESPONSE BODY
{
"result": "OK",
"dataSchema": {
"serviceName": "service001",
"fields": [ {
"type": "integer",
"name": "eNBId",
"key": "YES"
}, {
"type": "integer",
"name":
"averageBearThroughputPerQCI"
}, {
"type": "integer",
"name": "servingCellRsrpdi"
} ] } }
API Type: Mandatory
• ME App/ME App Service can subscribe to services
on the ME Platform using the service information it
received by service discovery
22. 22
Service Data Update and Publication
URL /appliance/v1/notifications
Method POST
Content Type application/json
Cookie SESSID=< Reference ID >
RESULT BODY
{
"serviceId": "<serviceId>",
"serviceData": {
"serviceName": "service001",
"keyFields": {
"eNBId": 1
},
"data": {
"averageBearThroughputPerQCI": 2,
"servingCellRsrpdi": 3
}
}
}
RESPONSE BODY
{ "result": "OK“ }
API Type: Mandatory
• ME App Service may publish new service data to
the subscribers of its service via ME Platform
• ME Platform publishes the service data to all
relevant subscribers after data format validation.
23. 23
Agenda
Mobile Edge Computing & NEV SDK - Overview
NEV SDK – Management APIs
NEV SDK – MEApp APIs
NEV SDK – Traffic Routing
Quick Hands on
TCS’s MEC Use case Demo
24. 24
Procedure Name URL Method Qualification
Traffic Rule Creation /appliance/v1/traffic POST mandatory
Traffic Rule Update /appliance/v1/traffic/{Traffic_Rule_ID} PUT mandatory
Traffic Rule Removal /appliance/v1/traffic/{Traffic_Rule_ID} DELETE mandatory
26. 26
Traffic Rules Creation
API Type: Mandatory
• To create, update or remove traffic rules to
manipulate the data flow in the underlying data
plane
• A traffic rule control request may include such
filters as IP and port .
URL /appliance/v1/traffic
Method POST
Content Type application/json
Cookie SESSID=< Reference ID >
RESULT BODY
{ "trafficRule": {
"prio": 99,
"ruleFields": [ {
"name": "encap_proto",
"value": "gtpu"
}, {
"name": "srv_ip",
"ip": "192.168.10.11",
"ip_mask": 24
}
]}, "vmId": 2,
"macAddress": "00:00:00:00:00:AA"
}
RESPONSE BODY
{ "result": "OK“, "trafficRuleId": "<Traffic Rule ID>" }
27. 27
Traffic Rules Update
API Type: Mandatory
• To create, update or remove traffic rules to
manipulate the data flow in the underlying data
plane
• A traffic rule control request may include such
filters as IP and port .
URL /appliance/v1/traffic/<traffic ID>
Method POST
Content Type application/json
Cookie SESSID=< Reference ID >
RESULT BODY
{ "trafficRule": {
"prio": 99,
"ruleFields": [ {
"name": "encap_proto",
"value": "gtpu"
}, {
"name": "srv_ip",
"ip": "192.168.10.11",
"ip_mask": 24
}
]}, "vmId": 2,
"macAddress": "00:00:00:00:00:AA"
}
RESPONSE BODY
{ "result": "OK}
28. 28
L2FWD in ME Application | ENB < - -> VM < - - > ENB
/* Switch ip addresses and send back */
static void l2fwd_simple_forward (struct rte_mbuf *m, unsigned
portid)
{
struct ipv4_hdr *ip;
uint32_t tmp;
unsigned dst_port;
/* Switch inner destination and source IP addresses */
ip = (struct ipv4_hdr *)(rte_pktmbuf_mtod(m, struct
ether_hdr *) + 1);
/* Send back on same port */
dst_port = portid;
tmp = ip->src_addr;
ip->src_addr = ip->dst_addr;
ip->dst_addr = tmp;
/* Send back on vhost port to NES */
l2fwd_send_packet(m, (uint8_t) dst_port);
}
#include <netinet/in.h> → replace with #include <rte_ip.h>
29. 29
Agenda
Mobile Edge Computing & NEV SDK - Overview
NEV SDK – Management APIs
NEV SDK – MEApp APIs
NEV SDK – Traffic Routing
Quick Hands on
TCS’s MEC Use case Demo
30. 30
Assignment for you
- Add a UE_IP Rule using meapp APIs
- Run ping traffic and observe traffic
direction using TCP Dump
Jump Server
Login: 207.108.8.164
Userid: damsel01
Password: /fcZ
# cd /opt/intel/nes_root/samples/memanager/
# sudo python memanager.py
# cd /opt/intel/nes_root/samples/meapp/
# sudo python meapp.py
Select option ‘o’ for logging
Let’s explore….
NES Server
Login : dskl01
Userid : centos
Password: CentOS74
31. 31
Agenda
Mobile Edge Computing & NEV SDK - Overview
NEV SDK – Management APIs
NEV SDK – MEApp APIs
NEV SDK – Traffic Routing
Quick Hands on
TCS’s MEC Use case Demo
32. 32
Centralized Emergency Traffic Optimizer
NES
Internet
EPC
Core Network
EdgeTraffic
Controller
Traffic
Analytics
Centralized
Traffic Controller
Central Analytics
Engine
Localized Analytics
LocalizedProcessingRedirect
APP VM APP VM
NES Server