20
www.nabto.com Carsten Rhod Gregersen, Founder Using peer-to-peer and distributed technologies to solve the IoT challenges Presentation at ”Living bits and things 2013”

Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

Embed Size (px)

DESCRIPTION

The traditional approach of both "Big fat webserver device" and "Virtual cloud device" has some inherent challenges not easily solved. These are privacy, autonomy, latency, establishing multiple and adaptable dataflows after deployment.

Citation preview

Page 1: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

www.nabto.com Carsten Rhod Gregersen, Founder

Using peer-to-peer and distributed technologies to solve the IoT challenges

Presentation at ”Living bits and things 2013”

Page 2: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

Installation Quality assurance

Support Accounting Customers

PRODUCT

CONTEXT: WHY DEVICE INTERNET?

?

Page 3: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

ESSENTIAL NEEDS

IOT Device

Device Firmware

GUI HTML5/

APP

Data Acquisition

Analysis & Monitoring

End users

Translates into two major requirements: Graphical GUI - interact directly with the device

Data acquisition - monitor and analyze data

Page 4: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

THREE TYPES OF IOT

FS

(RT)OS

HTTPD

TCP/IP

DB

Fat Webserver Device

GUI LOGIC

Data acquisition and push logic

(RT)OS

Cloud

Virtual Device

Virtual cloud device

Client reachable P2P/VoIP device

(Skype)

Connect API

(RT)OS

Client

Remote Connect API

Graphics, Javascript, Templates, Stylesheets

Firewall Firewall

Client

Page 5: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

Data Analysis

CLOUD DEVICE IOT APPROACH

End users Data

Acquisition Backend

HTTP Web frontend

Data storage layer Data push protocol

At firmware creation time: What, When, Where to push data?

Device Logic

Data push logic

Page 6: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

SOME OBSERVATIONS

• No internet -> No GUI – Low autonomy

• Data requirements changes over time

– Firmware has to be upgraded continuously

• Firmware decides data push

– Firmware has limited resources and knowledge, so normally simplistic algorithms for push are chosen

• Scales : O(<DEVICES> x <TIME> x <DATAFOOTPRINT>)

• Postulate: 95% of all data is ”normal” and not relevant

– Two standard deviations – You don’t need full population knowledge to do statistics

Page 7: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

P2P/VOIP IOT APPROACH - SCHEMATIC

Device Connect

API

GUI or Data

Collector

Basestation VoIP : SIP server

Skype : Supernode

P2P connection for Data acquisition or GUI

Client Connect

API

Connect request Identification & Awareness

• Basestation act as an internet “PABX” for devices • Basestation knows current internet “status” of devices and

can mediate connections from clients to devices • Technology is similar to VoIP/Skype etc

Device Logic

Page 8: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

NABTO PLATFORM

Every device is given and identified by a unique identification <serial>.<vendordomain>.net

Total device footprint typically about 10 kB of flash and 2 kB of RAM

Direct interaction with device through peer-to-peer connection (with local (offline) support)

Strong security, integrity and authentication

Full privacy - No device data stored in cloud solution (data-acquisition and storage is optional)

Provides full, interactive web experience – even on very limited devices with no HTTP/TCP stack

• Platform abstraction layer is 12 functions

• 36 different platforms supported via FreeRTOS partnership

Page 9: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

P2P CLIENT REACHABLE DEVICE APPROACH

Firmware

IOT Device

Connect API

PC, Tablet, Smartphone, etc.

P2P HTML5

GUI

Data Acquisition

Back office

P2P

• P2P connection is a generic data connection • Possible CoAP and DTLS support

• Authenticated clients can access device data • No decisions upon firmware creation!

• Usage both HTML5-GUI and/or Data acquisition

Page 10: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

PC/Mobile/Tablet

Direct P2P connection Low bandwidth raw data

Browser Protocol Plugin

Firmware

HTML Device Driver (English)

HTML Device Driver (German)

HTML Device Driver (OEM A)

HTML Device Driver (OEM B)

Device

DISTRIBUTED HTML5 COMPUTATION

Plugin Data cache

• Downloaded automatically on first device connect

• Alternatively distributed on DVD/USB etc.

Plugin technology enables distributed GUI computation – high autonomy Full autonomy, scaling, flexibility and GUI differentiation based on client version/model/language etc.

Page 11: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

EXAMPLE APPLICATION: DANFOSS SOLAR

Page 12: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

IOT Device

OBSERVATION: ADAPTIVE DATA-ACQUISITION

Since the cloud initiates the P2P connect, it can easily be configured to do adaptive Data acquisition

Data Acquisition

P2P

External Trigger

Acquisition Timer

Embedded Logic

Nabto Data API

Example: Weather forecast

Page 13: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

OBSERVATION: MULTIPLE DAQ FLOWS

Embedded Logic

IOT Device

P2P Data API

Multiple P2P connections for multi-flow data acquisition

P2P Data Acquisition

DAQ system 1

P2P Data Acquisition

DAQ system 2

P2P Data Acquisition

DAQ system 3

P2P

P2P

P2P

Page 14: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

DIFFERENT DATA-FLOW AND PRIVACY NEEDS

DAQ A

R&D / QA

Production

OEM Customer

Co

nn

ect

AP

I

DAQ B

Co

nn

ect

AP

I

DAQ OEM

Co

nn

ect

AP

I

Reason and requirements: We need to very fine-grained monitor and store data of devices in batch 482 and 593, because we are investigating a possible production error. Also serial 482934, 84992, 84932 we need to observe closely, they have been flashed with a new firmware going into production soon.

Reason and requirements: We have observed that systems in which temperatures in the “ABC” part rises over long terms will at some point fault. We generally only coarsely monitor, but devices reaching a certain temperature threshold we switch to monitoring and storing very fine grained and of course inform our customers about potential issues.

Reason and requirements: OEM buy the XYZ product/component. It’s used in a larger complex composite product. The data from XYZ component is used in a larger system of control and data-analysis. OEM want full data control – cannot share data

Page 15: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

IOT CHALLENGES

Generic:

• Identification and addressability

• Authentication and privacy

• Adaptable data flow

• Autonomy, robustness and stability

Operational

• Future proof solution

• Ease-of-use, easy adoption

• Scalability

• Time-to-market

• Cost

Page 16: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

CLOUD VIRTUAL VS. P2P/VOIP - DEVICE

Challenge Virtual device P2P/VoIP

Identification and addressability Depends

Authentication and privacy Transmission only

Adaptable data flow Through central services

Autonomy, robustness and stability

Autonomy – no Single point of service

Flexible to changing needs Only if data collection need doesn’t change

Ease-of-use, easy adoption Pure internet environments - yes

Scalability DATA x TIME x DEVICES DEVICES ()

Time-to-market Data-needs to be known at firmware creation

Cost See scalability

Latency Moderate

Page 17: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

EXAMPLE PRODUCTS

Danfoss Solar Inverters: Monitoring / Control solution

Cosesy: Residential Alarm system

WindowMaster (Velux): Skylights and Window Controller

Page 18: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

EXAMPLE APPLICATION: ”INDUSTRIAL CONTROL”

Page 19: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

OTHER CURRENT USES OF PLATFORM

STREAMING APPLICATIONS

- Serial link gateway (RS232/RS485)

- Video streaming (DVRs, cameras)

- Audio streaming (hearing aids)

- Firmware updates

- Remote desktop (VNC tunnelling)

VPN APPLICATIONS

- Honeywell EBI BACnet building automation

- Ritzau News Agency

DATA ACQUISITION

- Water heaters

- Wind turbine production data

- Indoor climate statistics

Page 20: Living bits and things 2013 - Using peer-to-peer and distributed technologies (Nabto) to solve the IoT challenges

www.nabto.com Founder, Carsten Rhod Gregersen – [email protected]