EMMA Distributed QoS-Aware MQTT Middleware for Edge ... · EMMA Distributed QoS-Aware MQTT...

Post on 10-Aug-2020

15 views 0 download

Transcript of EMMA Distributed QoS-Aware MQTT Middleware for Edge ... · EMMA Distributed QoS-Aware MQTT...

EMMA

Distributed QoS-Aware MQTT Middleware

for Edge Computing Applications

Thomas Rausch, Stefan Nastic, Schahram Dustdar

TU WienDistributed Systems Group

http://dsg.tuwien.ac.at

2

AWS IoT

3

Subscribe to topic:/robot/arm

Publish “move x,y,z” to/robot/arm

Decoupled messaging

4

Trust?!

Availability?!

End-to-end latency: ??ms!

5

Edge-Enabled MOM

Data centers

Internet

Mobileedge

Extremeedge

IoT

Cloudlets

Message broker

Cloud-based MOM

Edge-enabled MOM

Scale

Proximity & Responsiveness

6

▪ Popular platform for IoT– ISO standardized pub/sub protocol

– Low-bandwidth design

▪ Simple Protocol– CONNACK

– SUBSCRIBE(t), SUBACK(t)

– PUBLISH(t, msg)

– ...

7

Static MQTT Topic Bridging

Local BrokerCentralBroker

InternalTopics

Staticconfig

Staticconfig

Cloud

M. Garcia, “How to Bridge Mosquitto MQTT Broker to AWS IoT”The Internet of Things on AWS -- Official Blog, 2016.https://aws.amazon.com/blogs/iot/how-to-bridge-mosquitto-mqtt-broker-to-aws-iot/

Edge

Topic Bridge

8

Goals

▪ Decentralized messaging middleware

▪ Leverages edge resources to reduce latency

▪ Can handle mobile clients

▪ Can handle volatile resources

▪ Seamlessly integrates with IoT infrastructure

9

EMMA MQTT Middleware

ClientGW

c

GW

c

Broker

Broker

Device

Mon

itorin

g pr

otoc

olController

Bridging Tables

Gateway

Bridging Table

Reconfigura- tion Engine

REST Endpoints

Network monitor

Buffer out

Buffer in

MQTT Server

Discovery Service

https://git.dsg.tuwien.ac.at/emma/emma

10

QoS Optimization & Balancing

0-2 ms

2-5

5-10

PINGREQPINGRESP

Broker Gateway▪ Continuously monitor network QoS via simple UDP protocol

▪ For each client createlatency group to brokers

▪ Connect gateways toa broker in closest group

▪ Balance load betweenbrokers in same group

11

Orchestration

:b1::b2::gateway::controller

SUBSCRIBE...

CONNECT

DISCONNECT

replaycontrolpackets

TCP connect

TCP open

updatenetwork

RECONACK(b2)

RECONREQ(b2)

:brokerA

:controller:gateway:client

CONNACKCONNACK

lookup

result(brokerA)

storepacket

CONNECT

CONNECT

12

Evaluation

us-east eu-west

eu-central

BrokerGateway BrokerGateway

Controller

... ...

Gateway

Broker

98 ms 27 ms

85 ms

https://git.dsg.tuwien.ac.at/emma/pubsub-benchmark

13

Controller

eu-west

eu-centralus-east

14

Controller

<1 ms

98 ms

27 ms

85 ms

15

Controller

16

Controller

17

Controller

18

Controller

19

Controller

20

Controller

21

Controller

22

Message Loss

▪ Caused by subscriber mobility

▪ Guaranteed message delivery requires transactional reconnection

23

More Results in the Paper

71

2

3 4 5 6 8

24

Dipl.-Ing. (MSc)

Thomas RauschResearch Assistant

TU WienDistributed Systems GroupArgentinierstraße 8/194-02, 1040, Vienna, AustriaT: +43 1 58801 184 838E: t.rausch@dsg.tuwien.ac.atdsg.tuwien.ac.at/staff/trausch

QoS Monitoring & Reconfiguration

25

Related Work – P2P Pub/Sub

NCA’05

DEBS’05

MW’05

PODC’07

26

State of the Art – Research

27

State of the Art – The Real World

ScalAgent. JoramMQ, a distributed MQTT broker for the Internet of Things .White paper. 2014.