+ All Categories
Home > Technology > Introducing Vortex Lite

Introducing Vortex Lite

Date post: 15-Jul-2015
Category:
Upload: angelo-corsaro
View: 554 times
Download: 2 times
Share this document with a friend
Popular Tags:
43
Introducing VORTEX Lite Chief Technology Officer PrismTech [email protected] Angelo Corsaro, PhD
Transcript
Page 1: Introducing Vortex Lite

Introducing VORTEX Lite

Chief  Technology  Officer  PrismTech

[email protected]

Angelo  Corsaro,  PhD

Page 2: Introducing Vortex Lite

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 PlatformVortex Device

Tools

Integration

Vortex Cloud

MaaS

Page 3: Introducing Vortex Lite

Cop

yrig

ht P

rism

Tech

, 201

4

All VORTEX Device implementation, i.e. OpenSplice, Café, Lite and Web are Fog ready

VORTEX Device implementations feature efficient peer-to-peer communication

VORTEX Device implementations are also cloud-enabled, in the sense that they can also communicate via VORTEX Cloud

VORTEX Device

Vortex Device

Page 4: Introducing Vortex Lite

Cop

yrig

ht P

rism

Tech

, 201

4

VORTEX Architecture

IP

UDP TCP

DTLS TLS

WebSocketDDSI Wire Protocol

VORTEX Café

VORTEX Cloud

VORTEX Web

VORTEX Gateway

VORTEX Lite VORTEX OpenSplice

MQTT AMQP XMPP HTTP HBase DMBS TCP/IP, UDP/IP

VORTEX Café

DDS API

DDS Security

Page 7: Introducing Vortex Lite

Deployment Models

Page 11: Introducing Vortex Lite

VORTEX Abstractions

Page 13: Introducing Vortex Lite

Cop

yrig

ht P

rism

Tech

, 201

4

A Topic defines a domain-wide information’s class

A 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

TopicType

Name

QoS

DDS Global Data Space

...

TopicAQoS

TopicBQoS

TopicCQoS

TopicDQoS

Page 14: Introducing Vortex Lite

QoS Policies

Page 16: Introducing Vortex Lite

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 17: Introducing Vortex Lite

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 19: Introducing Vortex Lite

Vortex Lite

Page 21: Introducing Vortex Lite

Architecture

Page 27: Introducing Vortex Lite

Lite in Numbers

Page 28: Introducing Vortex Lite

Cop

yrig

ht P

rism

Tech

, 201

4

488 KBytes footprint for the dds library

4 KB for all the DDS entities required to publish data

- Domain Participant

- Topic

- Subscriber

- Data Reader

- Listener

Adding more Writer on the same participant has very little overhead

Subscriber Memory Usage (pmap -x)

Address Kbytes RSS Dirty Mode Mapping08048000 4 4 0 r-x-- subscriber08049000 4 4 4 r---- subscriber0804a000 4 4 4 rw--- subscriber748a000 1700 572 0 r-x-- libc-2.19.sob7633000 8 8 8 r---- libc-2.19.sob7635000 4 4 4 rw--- libc-2.19.sob763a000 96 72 0 r-x-- libpthread-2.19.sob7652000 4 4 4 r---- libpthread-2.19.sob7653000 4 4 4 rw--- libpthread-2.19.sob766d000 588 488 0 r-x-- libdds.so.0.9.2b7700000 12 12 12 r---- libdds.so.0.9.2b7703000 4 4 4 rw--- libdds.so.0.9.2b770c000 128 100 0 r-x-- ld-2.19.sob772c000 4 4 4 r---- ld-2.19.sob772d000 4 4 4 rw--- ld-2.19.so

Page 29: Introducing Vortex Lite

Cop

yrig

ht P

rism

Tech

, 201

4

456 KBytes footprint for the dds library

4 KB for all the DDS entities required to publish data

- Domain Participant

- Topic

- Publisher

- Data Writer

Adding more Writer on the same participant has very little

Publisher Memory Usage (pmap -x)

Address Kbytes RSS Dirty Mode Mapping08048000 4 4 0 r-x-- publisher08049000 4 4 4 r---- publisher0804a000 4 4 4 rw--- publisherb74ae000 1700 564 0 r-x-- libc-2.19.sob7657000 8 8 8 r---- libc-2.19.sob7659000 4 4 4 rw--- libc-2.19.sob765e000 96 72 0 r-x-- libpthread-2.19.sob7676000 4 4 4 r---- libpthread-2.19.sob7677000 4 4 4 rw--- libpthread-2.19.sob7691000 588 456 0 r-x-- libdds.so.0.9.2b7724000 12 12 12 r---- libdds.so.0.9.2b7727000 4 4 4 rw--- libdds.so.0.9.2b7730000 128 100 0 r-x-- ld-2.19.sob7750000 4 4 4 r---- ld-2.19.sob7751000 4 4 4 rw--- ld-2.19.so

Page 34: Introducing Vortex Lite

Cloud Connectivity

Page 35: Introducing Vortex Lite

Cop

yrig

ht P

rism

Tech

, 201

4

Vortex Lite can be easily configured to use cloud by enabling TCP/IP and adding the Vortex-Cloud address as one of the peers

If you want to enable only communication through cloud then you may disable support for multicast (see side example )

Vortex Cloud Connectivity<DDSI2EService> <General> <NetworkInterfaceAddress>AUTO</NetworkInterfaceAddress> <AllowMulticast>false</AllowMulticast> <EnableMulticastLoopback>false</EnableMulticastLoopback> <EnableLoopback>false</EnableLoopback> </General> <TCP> <Enable>True</Enable> </TCP> <Discovery> <Peers> <Peer>demo-eu.prismtech.com:7400</Peer> </Peers> </Discovery> <Compatibility> <StandardsConformance>lax</StandardsConformance> </Compatibility> <Tracing> <Verbosity>warning</Verbosity> </Tracing></DDSI2EService>

Page 36: Introducing Vortex Lite

API

Page 37: Introducing Vortex Lite

Cop

yrig

ht P

rism

Tech

, 201

4

Writing Data#include "generated/Test.h"

int main (int argc, char ** argv) { dds_entity_t ppant; dds_entity_t topic; dds_entity_t writer;

/* Initialize DDS */ dds_init (argc, argv);

/* Create participant */ dds_participant_create (&ppant, DDS_DOMAIN_DEFAULT, NULL, NULL);

/* Create topic */ dds_topic_create (ppant, &topic, &Test_Topic_desc, "TestTopic", NULL, NULL, 0);

/* Create writer with QoS */ dds_writer_create (ppant, &writer, topic, NULL, NULL, 0);

/* Topic instance */ Test_Topic sample = { 1, 2 };

/* Write topic */ dds_write (writer, &sample);

dds_sleepfor (DDS_SECS (10));

/* Clean up */ dds_entity_delete (ppant); dds_fini ();}

Page 38: Introducing Vortex Lite

Cop

yrig

ht P

rism

Tech

, 201

4

Reading Data#include "generated/Test.h"

int main (int argc, char ** argv) { dds_entity_t ppant; dds_entity_t topic; dds_entity_t reader; dds_sample_info_t info; void * samples[1];

/* Initialize DDS */ dds_init (argc, argv);

/* Create participant */ dds_participant_create (&ppant, DDS_DOMAIN_DEFAULT, NULL, NULL);

/* Create topic */ dds_topic_create (ppant, &topic, &Test_Topic_desc, "TestTopic", NULL, NULL, 0);

/* Create writer with QoS */ dds_reader_create (ppant, &reader, topic, NULL, NULL, 0);

while (true) { /* Wait for valid sample then print and exit */ ret = dds_read (reader, samples, 1, &info, 0); if (ret > 0 && info.valid_data) { printf ("Test Sample (%d, %d)\n", sample.d1, sample.d2); break; } dds_sleepfor (DDS_SECS (1)); }

/* Clean up */ dds_entity_delete (ppant); dds_fini ();}

Page 41: Introducing Vortex Lite

Summing Up

Page 42: Introducing Vortex Lite

Cop

yrig

ht P

rism

Tech

, 201

4

Lite expands Vortex connectivity to embedded devices

Vortex Lite is highly efficient in time and space and simple to use

Concluding Remarks

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

Page 43: Introducing Vortex Lite

Cop

yrig

ht P

rism

Tech

, 201

4


Recommended