Post on 12-Jul-2015
transcript
Fog Computing with VORTEX
Chief Technology Officer PrismTech
OMG DDS Co-‐Chair OMG Architectural Board
angelo.corsaro@prismtech.com
Angelo Corsaro, PhD
50.1B-2020
Cop
yrig
ht P
rism
Tech
, 201
4
Problem with Clouds?
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]
Cop
yrig
ht P
rism
Tech
, 201
4
Driver assistance applications can’t rely on a connection to the cloud to be always available
Cloud computing is useful in offloading some computations, but other decisions that require short reaction time, or that have to be taken on a decentralised fashion can’t rely on the cloud
Not Always Connected
Cop
yrig
ht P
rism
Tech
, 201
4
For some Industrial Internet of Things applications it is just not realistic to stream all data to a cloud
Not Always Enough Bandwidth
Fog Computing
Cop
yrig
ht P
rism
Tech
, 201
4
Whereas the cloud is "up there" in the sky somewhere, distant and remote and deliberately abstracted, the "fog" is close to the ground, right where things are getting done.
Why Fog?
Cop
yrig
ht P
rism
Tech
, 201
4
Fog computing is about computing on the edge
In Fog computing devices communicate peer-to-peer to efficiently share/store data and take local decisions
What is Fog Computing
Fog Computing
Cop
yrig
ht P
rism
Tech
, 201
4
Fog and Cloud computing are synergistic, not exclusive
IoT systems require both!
Fog and Cloud 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
Fog & Cloud Computing with 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
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
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
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
Cop
yrig
ht P
rism
Tech
, 201
4
VORTEX supports both the Cloud and the Fog Computing Paradigm
VORTEX natively supports:
- Device-to-Device Communication
- Device-to-Cloud Communication
Cloud and Fog/Edge 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
VORTEX Abstractions
Cop
yrig
ht P
rism
Tech
, 201
4
VORTEX provides a Distributed Data Space abstraction where applications can autonomously and asynchronously read and write data
Its built-in dynamic discovery isolates applications from network topology and connectivity details
Global Data Space
DDS Global Data Space
...
Data Writer
Data Writer
Data Writer
Data Reader
Data Reader
Data Reader
Data Reader
Data Writer
TopicAQoS
TopicBQoS
TopicCQoS
TopicDQoS
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
TopicTypeName
QoS
...
TopicAQoS
TopicBQoS
TopicCQoS
TopicDQoS
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
Cop
yrig
ht P
rism
Tech
, 201
4
DomainParticipant: Provides access to a data cloud -- called a domain in DDS
Topic: Domain-wide definition of a kind of Information
Publisher/Subscriber: Provide scope to data sharing through the concept of partitions DataReader/DataWriter: Allow to read/write data for a given topic in the partitions their Subscriber/Publisher are associated with.
DDS EntitiesDomain (e.g. Domain 123)
Domain Participant
Topic
Publisher
DataWrter
Subscriber
DataReader
Partition (e.g. “Telemetry”, “Shapes”, )
Topic Instances/Samples
TaTb
Tc
Tx
Ty
T1
T1 T3
Cop
yrig
ht P
rism
Tech
, 201
4
Chatting in Scala
import dds._import dds.prelude._import dds.config.DefaultEntities._
object Chatter { def main(args: Array[String]): Unit = { val topic = Topic[Post]("Post") val dw = DataWriter[Post](topic) dw.write(new Post(“kydos”,”Using VORTEX.. It's pretty cool!”)); }}
Cop
yrig
ht P
rism
Tech
, 201
4
Chatting in Scala
import dds._import dds.prelude._import dds.config.DefaultEntities._
object ChatLog { def main(args: Array[String]): Unit = { val topic = Topic[Post]("Post") val dr = DataReader[Post](topic) dr listen { case DataAvailable(_) => dr.read.foreach(println) } }}
Cop
yrig
ht P
rism
Tech
, 201
4
Chatting in C++
#include <dds.hpp>
int main(int, char**) {
DomainParticipant dp(0); Topic<Post> topic(“Post”); Publisher pub(dp); DataWriter<Post> dw(dp, topic);
dw.write(Post(“kydos”,”Using VORTEX.. It's pretty cool!”)); dw << Post(“kydos”,”Using operator << to post!”); return 0; }
Cop
yrig
ht P
rism
Tech
, 201
4
Chatting in C++#include <dds.hpp>
int main(int, char**) {
DomainParticipant dp(0); Topic<Post> topic(“Post”); Subscriber sub(dp); DataReader<Post> dr(dp, topic);
LambdaDataReaderListener<DataReader<Post>> lst; lst.data_available = [](DataReader<Post>& dr) { auto samples = data.read(); std::for_each(samples.begin(), samples.end(), [](Sample<Post>& sample) { std::cout << sample.data() << std::endl; } }
dr.listener(lst); return 0; }
Deployment Models
Cop
yrig
ht P
rism
Tech
, 201
4
Fog + Cloud
Fog Computing Fog Computing
Fog Computing
Device-to-Cloud Communication
Peer-to-Peer (Brokerless)
Device-to-Device Communication
Device communicate peer-to-peer within a fog-domain and through Cloud across fog-domains
Some device concurrently communicate with peers and the cloud
Cop
yrig
ht P
rism
Tech
, 201
4
Fog + Cloud-Link + CloudDevice communicate peer-to-peer within a fog-domain
A Cloud-Link controls which data is exchanged with the could
Fog Computing Fog Computing
Fog Computing
Device-to-Cloud Communication
Peer-to-Peer (Brokerless)
Device-to-Device Communication
Cloud-LinkCloud-Link
Cop
yrig
ht P
rism
Tech
, 201
4
Federated Fog
Fog Computing Fog Computing
Fog Computing
Peer-to-Peer (Brokerless)
Device-to-Device Communication
Cloud-Link
Cloud-Link
Fog domain are federated by Cloud-Link instances
A Cloud-Link controls which data is exchanged with the could
Fog Computing Use Cases
Cop
yrig
ht P
rism
Tech
, 201
4
Smart Vehicles
Enabling Vehicle to Vehicle and Vehicle-to-Cloud communication to improve driver safety
Vehicle-to-Vehicle communication used to prevent accident
Vehicle-to-Cloud communication used to perform complex analysis on video
Cop
yrig
ht P
rism
Tech
, 201
4
European Air Traffic Control Connected With Vortex
The Single European Sky Initiative (SESAR) has adopted DDS as the pan-European ATM data sharing standard. Thus far, Italy and France have adopted Vortex.
Flight Data Plans are shared in real-time across Europe using VORTEX.
PENS: Pan European Network Service FDP: Flight Data Processor CWP: Controller Working Position
PENS IPv6 network SSM support
VORTEX is currently used by several nations within and across Air Traffic Control Centers.
FDPFDP
CWP
TOWER
DEVICE
ITALY
FDPFDP
CWP
TOWER
DEVICE
FRANCE
FDPFDP
CWP
TOWER
DEVICE
ITALY
FDPFDP
CWP
TOWER
DEVICE
GERMANY
Cop
yrig
ht P
rism
Tech
, 201
4
City of Nice’s Connected Boulevard
http://bit.ly/connected-boulevardhttps://www.youtube.com/watch?v=neVyOTXB4eI
Cop
yrig
ht P
rism
Tech
, 201
4
VORTEX seamlessly support Fog and Cloud Computing Architectures
VORTEX data sharing abstraction allows application to be completely abstracted from the connectivity details!
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
Cop
yrig
ht P
rism
Tech
, 201
4