dds: the iot data sharing standard

42
DDS The IoT Data Sharing Standard Chief Technology Officer PrismTech OMG DDS CoChair OMG Architectural Board [email protected] Angelo Corsaro, PhD

Upload: angelo-corsaro

Post on 12-Jul-2015

935 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: DDS: The IoT Data Sharing Standard

DDS The IoT Data Sharing Standard

Chief  Technology  Officer  PrismTech

OMG  DDS  Co-­‐Chair  OMG  Architectural  Board

[email protected]

Angelo  Corsaro,  PhD

Page 3: DDS: The IoT Data Sharing Standard

How is DDS Different/Better?

Page 7: DDS: The IoT Data Sharing Standard

Cop

yrig

ht P

rism

Tech

, 201

4

As explained in the previous slide a topic defines a class/type of information

Topics can be defined as Singleton or can have multiple Instances

Topic Instances are identified by means of the topic key

A Topic Key is identified by a tuple of attributes -- like in databases

Remarks: - A Singleton topic has a single domain-wide instance - A “regular” Topic can have as many instances as the

number of different key values, e.g., if the key is an 8-bit character then the topic can have 256 different instances

Topic and Instances

Page 10: DDS: The IoT Data Sharing Standard

Cop

yrig

ht P

rism

Tech

, 201

4

For data to flow from a DataWriter (DW) to one or many DataReader (DR) a few conditions have to apply:

The DR and DW domain participants have to be in the same domain

The partition expression of the DR’s Subscriber and the DW’s Publisher should match (in terms of regular expression match)

The QoS Policies offered by the DW should exceed or match those requested by the DR

QoS ModelDomain

Participant

DURABILITY

OWENERSHIP

DEADLINE

LATENCY BUDGET

LIVELINESS

RELIABILITY

DEST. ORDER

Publisher

DataWriter

PARTITION

DataReader

Subscriber

DomainParticipant

offered QoS

Topicwrites reads

Domain Idjoins joins

produces-in consumes-from

RxO QoS Policies

requested QoS

Page 23: DDS: The IoT Data Sharing Standard

Cop

yrig

ht P

rism

Tech

, 201

4

Support for fine grained access control

Support for Symmetric and Asymmetric Authentication

Standard Authentication, Access Control, Crypto, and Logging plug-in API

Security

Arthur Dent

Arthur Dent

Ford Prerfect

Zaphod Beeblebrox

Marvin

Trillian

A(r,w), B(r)

A(r,w), B(r,w), X(r)

*(r,w)

*(r)

A(r,w), B(r,w), C(r,w)

Ford Prerfect

Zaphod Beeblebrox

Trillian

Marvin

A

B

A,BX

*

*

A,B,C

Identity Access RightsSessions are authenticated and communication is encrypted

Only the Topic included as part of the access rights are visible and accessible

Page 25: DDS: The IoT Data Sharing Standard

DDS is Simple!

Page 30: DDS: The IoT Data Sharing Standard

DDS vs. Other Standards

Page 31: DDS: The IoT Data Sharing Standard

Cop

yrig

ht P

rism

Tech

, 201

4

Originally defined by the AMQP consortium as a messaging standard addressing the Financial and Enterprise market

AMQP is an OASIS standard that defines an efficient, binary, peer-to-peer protocol for for transporting messages between two processes over a network. Above this, the messaging layer defines an abstract message format, with concrete standard encoding

https://www.oasis-open.org/committees/amqp/

Advanced Message Queueing Protocol (AMQP)

Page 32: DDS: The IoT Data Sharing Standard

Cop

yrig

ht P

rism

Tech

, 201

4

CoAP is an IETF RFC defining a transfer protocol for constrained nodes and constrained (e.g., low-power, lossy) networks, e.g. 8-bit micro-controllers with small amounts of ROM and RAM, connected by Low-Power Wireless Personal Area Networks (6LoWPANs).

The protocol is designed for machine-to-machine (M2M) applications such as smart energy and building automation.

Constrained Application Protocol (CoAP)

CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types.

CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialised requirements such as multicast support, very low overhead, and simplicity for constrained environments.

Page 34: DDS: The IoT Data Sharing Standard

Cop

yrig

ht P

rism

Tech

, 201

4

Qualitative Comparison

Transport Paradigm Scope Discovery Content Awareness

Data Centricity Security Data

PrioritisationFault

Tolerance

AMQP TCP/IP

Point-to-Point

Message Exchange

D2DD2CC2C

No None Encoding TLS None Impl. Specific

CoAP UDP/IPRequest/

Reply (REST)

D2D Yes None Encoding DTLS None Decentralised

DDSUDP/IP

(unicast + mcast)TCP/IP

Publish/SubscribeRequest/

Reply

D2DD2CC2C

Yes

Content-Based

Routing, Queries

Encoding, Declaration

TLS, DTLS, DDS

Security

Tranport Priorities Decentralised

MQTT TCP/IP Publish/Subscribe D2C No None Undefined TLS None Broker is the

SPoF

[Ref: A Comparative Study of Data-Sharing Standards for the Internet of Things, Cutter Journal, Dec 2014 ]

Page 35: DDS: The IoT Data Sharing Standard

Cop

yrig

ht P

rism

Tech

, 201

4

Efficient and scalable Data Sharing is a key requirement of practically any IoT system

The degree of performance and fault-tolerance required by the data sharing platform varies across Consumer and Industrial Internet on Things applications

Fog Computing support is key for IIoT

CIoT/IIoT Data Sharing Requirements

High Individual Data Rates

High Aggregated Data Volumes

Low Latency

Temporal Determinism

Device-2-Device (D2D) Comms

Device-2-Cloud (D2C) Comms

Cloud-2-Cloud (C2C) Comms

Bandwidth Efficiency

Fault-Tolerance

Transport-Level Security

Data-Level Security

0,00 0,25 0,50 0,75 1,00

CIoT IIoT

[Ref: A Comparative Study of Data-Sharing Standards for the Internet of Things, Cutter Journal, Dec 2014 ]

Relative Importance

Page 37: DDS: The IoT Data Sharing Standard

Tech MythologyMQTT is very wire efficient. Probably the most wire-efficient IoT data sharing standard

Page 38: DDS: The IoT Data Sharing Standard

Cop

yrig

ht P

rism

Tech

, 201

4

MQTT encodes the topic name on every data message, as a result its wire-efficiency linearly degrades on the topic name length — which is usually greater several tens of bytes

DDS has a predictable protocol overhead. Furthermore, when running DDS in streaming mode over TCP/IP the protocol efficiency can be further improved

DDS & MQTT Wire EfficiencyProtocol Overhead

Topi

c N

ame

Leng

th

0

75

150

225

300

Size (bytes)8 16 32 64 128 256

MQTTDDSDDS Streaming

[Ref: A Comparative Study of Data-Sharing Standards for the Internet of Things, Cutter Journal, Dec 2014 ]

Page 39: DDS: The IoT Data Sharing Standard

Cop

yrig

ht P

rism

Tech

, 201

4

Protocols Overhead Analysis

Message Size (bytes) IPv4 Headers(bytes)

Total Size(bytes)

MQTT(QoS = 0)

(2 to 5) + 2 + length(TopicName) + length(Payload) IP: 20-40 TCP: 20-40

min = 20 + 20 + 4 + length(TopicName) + length(Payload)max = 40 + 40 + 7 + length(TopicName) + length(Payload)

DDS 44 + length (Payload) IP: 20-40 UDP: 8

min = 20 + 8 + 44 + length(Payload)max = 40 + 8 + 44 + length(Payload)

DDS Streaming

24 + length (Payload) IP: 20-40 TCP: 20-40

min = 20 + 20 + 24 + length(Payload)max = 40 + 40 + 24 + length(Payload)

Page 40: DDS: The IoT Data Sharing Standard

Demo

Page 41: DDS: The IoT Data Sharing Standard

Cop

yrig

ht P

rism

Tech

, 201

4

DDS Enables the IoT

Page 42: DDS: The IoT Data Sharing Standard

Cop

yrig

ht P

rism

Tech

, 201

4