MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data...

34
Watson / Presentation Title / Date 1 Oct 2019 Dave Locke Chief Innovation Officer for IBM UK Labs MQTT Past, Present and Future 20 Years of MQTT

Transcript of MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data...

Page 1: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date1

Oct 2019

Dave LockeChief Innovation Officer for IBM UK Labs

MQTT Past, Present and Future

20 Years of MQTT

Page 2: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date3 Eclipse IoT Developer Survey 2018 https://blogs.eclipse.org/post/benjamin-cabe/key-trends-iot-developer-survey-2018

Page 3: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date4

MQTTEvolution of an open technology

Open community

2004 Eclipse MQTT open source project

2011MQTT 3.1.1 StandardRatified

2014

International Standard

2016

Invented by Dr. Andy Stanford-Clark (IBM), Arlen Nipper (now Cirrus Link Solutions)

1999

MQTT V5MQTT 20th birthday

2019

MQTT-SN 1.0

2008

Page 4: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date5

The Genesis of MQTT

Page 5: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date7

Pipeline: integration challenges

Central Systems

Monitoring - temp, pressure...Control - valves…

4000 devices integrated, need to add 8000 more BUT:• Satellite network saturated due to polling of device• VALMET system CPU at 100%• Other applications needed access to data ("SCADA prison")

Proprietary polling protocol

Billing

Maintenance

SCADA

low-bandwidth,expensive comms

Page 6: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date8

Central Systems

Billing

Maintenance

SCADA

low-bandwidth,expensive comms

• Scalability for whole pipeline! • Network traffic much lower - events pushed to/from devices and report by exception• Network cost reduced• Lower CPU utilization• Broken out of the SCADA prison – data accessible to other applications

Message Brokerpub sub

transformation

Enterprise MessagingMQTT

Enterprise to physical world solution with MQTT

20 Field Devices to 1 Concentrator

Page 7: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date9

Original Design Goals

• To make it simple to connect the M2M (physical) world to the traditional IT world

• Expect and cater for frequent network disruption – built for low bandwidth, high latency, unreliable, high cost networks (cost per byte)

• Expect that client applications may have very limited resources available (8 bit controller, 256kb ram)

• Provide loose coupling to support dynamic system environments where high volumes of physical world messages and events need to be made available to enterprise servers and other consumers in ways that may not have been originally anticipated.

• Provide multiple deterministic message delivery qualities of service to reflect tradeoffs between bandwidth, availability, and delivery guarantees

• Capable of supporting large numbers of devices (10k MQTT clients)

• Simple for application developers and implementers of the protocol

• Publish the protocol for ease of adoption by device vendors and third-party client software enabling support for a proliferation of platforms, technologies and networks that are driven by very diverse equations of cost, technology and physical constraints.

• To be industry agnostic

Page 8: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date10

MQTT SCADA mouse trap

Page 9: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date11

MQTT the Protocol

Page 10: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date12

• A producer publishes a message (publication) on a Topic • A consumer subscribes (makes a subscription) for messages on a Topic• A message server matches publications to subscriptions

• If none of them match the message is discarded• If one or more matches the message is delivered to each matching consumer

Publish / Subscribe has three important characteristics:1. It decouples message senders and receivers, allowing for more flexible applications2. It can take a single message and distribute it to many consumers3. This collection of consumers can change over time

Publish / Subscribe Messaging (One to Many)

Page 11: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date13

§ MQTT protocol control packets:• Fixed header (2 bytes)

• Variable header (optional, length varies)• Message payload (optional, length encoded, up to 256MB)

§ Fixed header indicates the packet type, the length of the payload and Quality of Service

§ Variable header contents depend on packet type• Message ID, Topic name, client identifier and so on.

Fixed Variable Payload

MQTT Protocol Details - Headers

Page 12: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date16

The life of an MQTT client

MQTT server

CONNECT

SUBACK

SUBSCRIBE

PINGREQ

CONNACK

PINGRESP

Prepare to send messages to client when matching messages arrive

Establish Contact

Is the connection still active? Yes!

MQTT client

Register interest in receiving messages

Await messages

Page 13: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date17

MQTT Server

PUBLISH

PUBLISH

PUBREC Send some important messages (QoS 2) to client

Send some low importance messages (QoS 0) to server

PUBREL

PUBCOMP

DISCONNECTI'm done!

The life of a MQTT client (2)

MQTT client

Page 14: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date19

§ Every message is published to a Topic§ Topic names are arranged in a Topic hierarchy

• Levels separated by “/”

• Implementations can pre-define individual Topics, prescribe a scheme for Topic names, or allow free rein to publishers or subscribers

§ Subscriptions can use wildcarded topic strings

• Single-level wildcards “+” can appear anywhere in the topic string

• Multi-level wildcards “#” can only appear at the end of the string

• Wildcards must be next to a “/” separator

§ MQTT topic strings can be 64KB long

Fruit

Grape

Red White

Fruit/#Fruit/Grape/+Fruit/+/Red

Fruit/Grape/Red

MQTT Topics

Page 15: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date22

MQTT Client Projects – the Noughties

Page 16: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date23

Mobile use case: Connected car

Smartcar

Vibration detected, details

published

Unlock my car

schedules appointment

with car owner

Find my car

Predicts part failure

Pay as you drive Insurance

Page 17: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date24

Real time energy management

Virtual Power Plant

Capacity

FuturesMarket

Dem

and

Tren

dsWeather

ControlHeating, Appliances

MQTT

UsageEnergy, Temp…

Page 18: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date25

Smarter Health: Monitoring in your home and on the go

Smart pacemaker

records data

Near-fieldRF comms

Bedside appliance

extracts information

MQTT SecurityGateway

EnterpriseIntegration

AnalyticsClinic /

Clinicians

Analytics build

patient knowledge

and extract insight

Professionals

perform the action

§ Smart, connected, pacemakers eliminate the need for regular clinic visits

§ Problems are detected early, preventing potentially life threatening incidents

Page 19: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date26

The Living Safe Project

§Partnership with Italian Government

§Coping with an ageing population

§Instrumenting homes

§Mobile wardens

§UIF used to monitor status and receive alerts & instructions

Assisted Living: The Living Safe Project

Partnership with Italian Government

Helping cope with an ageing population

Allowing the elderly to stay in their own homes

Homes are instrumented– Sensors feed back to central control

room

Web dashboard in central control room– providing at a glance view

Wardens have mobile app that allows them to– monitor status– receive alerts and instructions

Page 20: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date27

MQTT Patterns

Page 21: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date29

Sense and ControlVisualise and Respond

Mobile Web

MQTT Server

Intelligenceand Analytics

TraditionalEnterprise Systems BigData

Sensor Area NetworkHome Area Network

Personal Area NetworkVehicle Area Network

Sensors Actuators Controllers

M2MSCADAIoT

Third Party

MQTT

The Realm of MQTT

Page 22: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date30

Device Connectivity Patterns

Device

MQTT client

MQTT

MQTT

Edge of Network Enterprise / Cloud

Device Edge GW

MQTT client

AdapterMQTTANO

Protocol

Device Edge GW

MQTT client

MQTT

Apps

MQTT Server

MQTT Server

MQTT Server

MQTT ServerBridge

AppsMQTT Server

Bridge

Apps

Apps

Apps

App

App

App

ANO Client

Page 23: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date47

Page 24: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date48

Recent IoT Use Cases

Page 25: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

As KONE started to connect their escalators and elevators to IoT, the data started to grow exponentially. From all of this data, KONE has been able to create new services using live machine conversations – to tailor specific maintenance for elevators based on real data.

Innovation solutions are accelerated for KONE, a global provider of building elevator and escalator technology, modernization and maintenance

Page 26: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

70% decrease expected in customer service callTime – improving service levels and customer sat.

50% reduction projected in service and parts provision costs

Reduces IT costs with cloud-based hosting and solution as a service delivery

Whirlpool connected appliances provide new link from customers to warrantee services, product design and automated retail replenishment

Page 27: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM® Bluemix™ platform to analyze and deliver insights in a useful format to racers and fans. The team completed a prototype in 40 % less time, delivering a comprehensive analytics solution with data visualization in just three months.

SilverHook Powerboats uses sensor data collected from racing boats to improve the decision-making abilities and safety of racers and to enhance the fan experience

Page 28: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

One million users can now access platform without drop off in service – 10X performance improvement

Speeds deployment and development of new features with total platform control

Opens new business opportunities for additional connected products

The Chamberlain Group Inc. developed a mobile IoT app that provides competitively differentiated capabilities and user interface

Page 29: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date67

MQTT v5

Page 30: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date68

Page 31: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date71

MQTT-SN

Page 32: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date72

Original Design Goals• To make it simple to connect the M2M (physical) world to the traditional IT world

• Expect and cater for frequent network disruption – built for low bandwidth, high latency, unreliable, high cost networks (cost per byte)

• Expect that client applications may have very limited resources available (8 bit controller, 256kb ram)

• Provide loose coupling to support dynamic system environments where high volumes of physical world messages and events need to be made available to enterprise servers and other consumers in ways that may not have been originally anticipated.

• Provide multiple deterministic message delivery qualities of service to reflect tradeoffs between bandwidth, availability, and delivery guarantees

• Capable of supporting large numbers of devices (10k MQTT clients)

• Simple for application developers and implementers of the protocol

• Publish the protocol for ease of adoption by device vendors and third-party client software enabling support for a proliferation of platforms, technologies and networks that are driven by very diverse equations of cost, technology and physical constraints.

• To be industry agnostic

• + Run on non TCP networks (Connectionless)

Page 33: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date73

Device Connectivity Patterns

Device Edge GWMQTTMQTT-SN

MQTT ServerApps

MQTT ServerBridge Apps

MQTT-SN client

App

Device

MQTT client

MQTT

MQTT

Edge of Network Enterprise / Cloud

Device Edge GW

MQTT client

AdapterMQTTANO

Protocol

Device Edge GW

MQTT client

MQTT

Apps

MQTT Server

MQTT Server

MQTT Server

MQTT ServerBridge

AppsMQTT Server

Bridge

Apps

Apps

Apps

App

App

App

ANO Client

Page 34: MQTT Past, Present and Future Watson MQTT... · Using IBM Watson IoT Platform to stream data directly to the cloud, SilverHook was able to quickly build an application on the IBM®

Watson / Presentation Title / Date74

The future is bright the future is MQTT

The future is bright the future is MQTT