Top Banner
Angelo Corsaro, PhD Chief Technology Officer [email protected] Architecting IoT Systems
41

Architecting Internet of Things Systems with PrismTech Vortex

Jul 14, 2015

Download

Software

PrismTech
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Architecting Internet of Things Systems with PrismTech Vortex

Angelo Corsaro, PhDChief Technology Officer

[email protected]

Architecting IoT Systems

Page 2: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

Internet of Things Flavours

Wikipedia: Interconnection of

uniquely identifiable embedded

computing-like devices within the

existing Internet infrastructure

Internet of Things (IoT) is the term used to describe any kind of application that connected and made “things” interact through the internet

It is now clear that there are at least two kinds of IoT, Consumer IoT (CIoT) and Industrial IoT (IIoT)

The CIoT and IIoT follow the [Collect | Store | Analyse | Share] architecture, yet they have some key differences that is important to understand

Page 3: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

The Consumer Internet of Things (CIoT) represents the class of consumer-oriented applications where:

Devices are consumer devices, such as smart appliances, e.g. refrigerator, washer, dryer, personal gadgets such as, fitness sensors, google glasses, etc.

Data volumes and rates are relatively low

Applications are not mission or safety critical, e.g., the failure of fitness gadget will make you, at worse, upset, but won’t cause any harm

CIoT applications tend to be “consumer centric”

Consumer Internet of Things (CIoT)

Page 4: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

The Industrial Internet of Things (IIoT) represents industry-oriented applications where:

Devices are machines operating in industrial, transportation, energy or medical environment1

Data volumes and rates tend to be from sustained to relatively high

Applications are mission and or safety critical, e.g. the failure of a smart grid has severe impact on our life and economy, the misbehaving of a smart traffic system can threaten drivers

IIoT applications tend to be “system centric”

Industrial Internet of Things (IIoT)

1 The list of application domains is supposed to give examples and is not exhaustive

Page 5: Architecting Internet of Things Systems with PrismTech Vortex

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 RequirementsHigh 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 6: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

Connectivity to the Cloud is a pre-requisite of cloud computing.

- Some IoT systems need to be able to work even when connection is temporarily unavailable or under degraded connection

Cloud computing assumes that there is enough bandwidth to collect the data

- That can become an overly strong assumptions for Industrial Internet of Things applications

Cloud computing centralises the analytics thus defining the lower bound reaction time of the system

- Some IoT applications won’t be able to wait for the data to get to the cloud, be analysed and for insights to get back

Cloud Computing Limitations

[source: http://on.wsj.com/1saV1xU]

Page 7: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

Analytics, traditionally computed on a cloud, are increasingly moving on the edge to improve scalability and responsiveness

The Data Pipeline is executed at different scales,

Cloud and Fog Computing

Fog Computing

Cloud Computing

Fog Computing

Fog Computing

Device-to-Cloud Communication

Device-to-Device Communication

Fog-to-Cloud Communication

Cloud-to-Cloud Communication

Device-to-Device Communication

Collect | Store | Analyse | Share

Collect | Store | Analyse | Share

Collect | Store | Analyse | Share

Collect | Store | Analyse | Share

Collect | Store | Analyse | Share

Page 8: Architecting Internet of Things Systems with PrismTech Vortex

VORTEX The IoT Data Sharing Platform

Page 9: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

VORTEX is a ubiquitous data sharing platform for the Internet of Things providing scalable end-to-end seamless, efficient, secure and timely data sharing for IoT supporting device, edge, gateways and cloud

VORTEX platform coverage, performance and scalability make it the only viable choice from consumer to demanding business critical, industrial, real time, IoT applications

VORTEX simplifies IT/OT integration, and is the only platform that holistically addresses IT and OT requirements

Introducing Vortex

Sensors/ Things/ Devices

Connectivity/ Transport

Edge Management/ Telemetry

Application Platform

Enterprise Systems

Ubiquitous Data Sharing peer-to-peer, device-to-cloud, cloud-to-cloud

Page 10: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

Specialised device implementations optimally addressing requirements of OT and IT platforms

VORTEX can readily deal with data ingestion seamlessly integrating with other protocols, e.g. MQTT, CoAP, etc.

VORTEX leverages the DDS standard for interoperability and uniquely extends it with support for Internet Scale systems, mobility and Web 2.0 applications

The VORTEX Platform

PaaS/MaaS

Page 15: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

A Topic defines a domain-wide information’s classA Topic is defined by means of a (name, type, qos) tuple, where

• name: identifies the topic within the domain

• type: is the programming language type associated with the topic. Types are extensible and evolvable

• qos: is a collection of policies that express the non-functional properties of this topic, e.g. reliability, persistence, etc.

Topic

TopicTypeName

QoS

struct TemperatureSensor { @key long sid; float temp; float hum;}

Page 17: Architecting Internet of Things Systems with PrismTech Vortex

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

Quality of ServiceDomain

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 18: Architecting Internet of Things Systems with PrismTech Vortex

Your First Vortex App!

Page 22: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

Reading Data in C++#include <dds.hpp>

int main(int, char**) {

DomainParticipant dp(0); Topic<Meter> topic(”SmartMeter”); Subscriber sub(dp); DataReader<Meter> dr(dp, topic);

LambdaDataReaderListener<DataReader<Meter>> lst; lst.data_available = [](DataReader<Meter>& dr) { auto samples = data.read(); std::for_each(samples.begin(), samples.end(), [](Sample<Meter>& sample) { std::cout << sample.data() << std::endl; } } dr.listener(lst); // Print incoming data up to when the user does a Ctrl-C std::this_thread::join(); return 0; }

enum UtilityKind { ELECTRICITY, GAS, WATER

}; struct Meter {

string sn; UtilityKind utility; float reading; float error;

}; #pragma keylist Meter sn

Page 23: Architecting Internet of Things Systems with PrismTech Vortex

Deployment Models

Page 27: Architecting Internet of Things Systems with PrismTech Vortex

Architectures

Page 28: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

device-to-cloud

device-to-cloud

device-to-cloud

device-to-cloud

device-to-device

device-to-device

device-to-device

device-to-device

Query

Storage

Compute

Analytics

VORTEX Enables

Page 29: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

device-to-cloud

device-to-cloud

device-to-cloud

device-to-cloud

device-to-device

device-to-device

device-to-device

device-to-device

Query

Storage

Compute

Analytics

VORTEX Enables

Page 30: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

device-to-cloud

device-to-cloud

device-to-cloud

device-to-cloud

device-to-device

device-to-device

device-to-device

Query

Storage

Compute

Analytics

VORTEX Enables

Page 31: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

device-to-cloud

device-to-cloud

device-to-cloud

device-to-cloud

device-to-device

device-to-device

device-to-device

device-to-device

Query

Storage

Compute

Analytics

VORTEX Enables

Page 32: Architecting Internet of Things Systems with PrismTech Vortex

Performance

Page 33: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

Industry leading performance and scalability

VORTEX DEVICE

• Peer-to-Peer Intra-core latency as low as 8 µs

• Peer-to-Peer latency as low as 30 µs

• Point-to-Point throughput well over 2.5M msg/sec

VORTEX CLOUD

• Routing latency as low as 4 µs

• Linear scale out

• 44K* msgs/sec with a single router, 4x times more the average Tweets per second in the world (~6000 tweets/sec)!

*2048 bytes message payload

Page 34: Architecting Internet of Things Systems with PrismTech Vortex

VORTEX Security

Page 37: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

Vortex & DDS Security

Fog Computing Fog Computing

Fog Computing

Device-to-Cloud Communication

• Mutual Authentication • Secure Multicast • Encryption options:

• User Data • User Data + Protocol

Header • Message Authentication

• Nothing • Hash-based MAC

Cloud-LinkCloud-Link

S-DDSI

DDS Security makes it possible for Vortex to:

Securely interoperate with other DDS implementation

Plug user preferred authentication, access, control, and crypto plugin

Provide support for Symmetric and Asymmetric authentication as well as secure multicast

Separate security domains through Vortex Cloud-Link

S-DDSI

Page 38: Architecting Internet of Things Systems with PrismTech Vortex

Demo

Page 40: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4

Specialised device implementations optimally addressing requirements of OT and IT platforms

VORTEX can readily deal with data ingestion seamlessly integrating with other protocols, e.g. MQTT, CoAP, etc.

VORTEX leverages the DDS standard for interoperability and uniquely extends it with support for Internet Scale systems, mobility and Web 2.0 applications

The VORTEX Platform

PaaS/MaaS

Page 41: Architecting Internet of Things Systems with PrismTech Vortex

Cop

yrig

ht P

rism

Tech

, 201

4