Building and Scaling Internet
of Things Applications
with
Angelo	
  Corsaro,	
  PhD	
  
Chief	
  Technology	
  Officer	
  ...
CopyrightPrismTech,2014
Cloud Messaging is a key architectural element at the foundation of any Internet
of Things (IoT) a...
CopyrightPrismTech,2014
E-Health
Hospital A
Analytics
Big	
  Data	
  Store
Hospital B
?
CopyrightPrismTech,2014
Smart City
?
Vortex
CopyrightPrismTech,2014
The Vortex Platform
Vortex enable seamless,
ubiquitous, efficient and
timely data sharing across
mo...
CopyrightPrismTech,2014
One Standard, One set of Tools, One Goal — Ubiquitous Data Sharing
The Vortex Platform
VORTEX
Web
...
Vortex Cloud
CopyrightPrismTech,2014
Vortex Cloud provides a
universally accessible
“Internet Service” for
sharing data between
DDS-ena...
CopyrightPrismTech,2014
!
Elastic and Fault-Tolerant
Public/Private Clouds
Deployments
Unicast and Multicast
Communication...
CopyrightPrismTech,2014
!
Efficient Binary Protocol (DDSI)
Multiple Transports:
- UDP/IP
- TCP/IP
- WebSockets
Connectivity...
Architecture
CopyrightPrismTech,2014
At its core, Vortex-Cloud is made by two
building blocks:
Discovery Service: Deals with
transparen...
CopyrightPrismTech,2014
The Discovery service, is an elastic and fault tolerant service that:
Controls access to informati...
CopyrightPrismTech,2014
Discovery Service
Discovery Service
CopyrightPrismTech,2014
Discovery Service
Discovery Service
App1
DWX
DRY
CopyrightPrismTech,2014
Discovery Service
Discovery Service
LB
App1
DWX
DRY
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
App1
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
(DWX,DRY )
App1
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
(GUID1, DWX,DRY )
App1
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
App2
DWY
DRX
App1 (GUID1, DWX,DRY )
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
App1
LB
App2
(GUID1, DWX,DRY )
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
App2
App1 (GUID1, DWX,DRY )
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
(DWY,DRX ) App2
App1 (GUID1, DWX,DRY )
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
(GUID2, DWY,DRX )
App2
App1 (GUID1, DWX,DRY )
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
Match!
Match!
App1
App2
(GUID2, DWY,DRX )
(GUI...
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
App2
DWA
DRB
App1
App2
(GUID2, DWY,DRX )
(GUID...
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
DWA
DRB
App2
LB
App1
App2
(GUID2, DWY,DRX )
(G...
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
DWA
DRB
App2
(DWA,DRB )
App1
App2
(GUID2, DWY,...
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
DWA
DRB
App3
(GUID3, DWA,DRB )App1
App2
(GUID2...
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
DWA
DRB
App3
(GUID3, DWA,DRB )App1
App2
(GUID2...
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
DWA
DRB
App3
(GUID3, DWA,DRB )App1
App2
(GUID2...
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
DWA
DRB
App3
(GUID3, DWA,DRB )
App2
(GUID2, DW...
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
DWA
DRB
App3
(GUID3, DWA,DRB )
App2
(GUID2, DW...
CopyrightPrismTech,2014
Discovery Service
Discovery Service
DWX
DRY
DWY
DRX
DWA
DRB
App3
(GUID3, DWA,DRB )
App2
(GUID2, DW...
CopyrightPrismTech,2014
The Routing service, is an elastic and fault tolerant service that:
Efficiently routes information ...
CopyrightPrismTech,2014
Routing Service
Discovery Service Routing Service
DWX
DRY
DWY
DRX
Match!
Match!
App1
App2
(GUID2, ...
CopyrightPrismTech,2014
Routing Service
Discovery Service Routing Service
DWX
DRY
DWY
DRX
App1
App2
(RS2,2, GUID1, GUID2)
...
CopyrightPrismTech,2014
Routing Service
Discovery Service Routing Service
DWX
DRY
DWY
DRX
(RS2,2)
(RS2,2)App1
App2
(RS2,2,...
CopyrightPrismTech,2014
Routing Service
Discovery Service Routing Service
DWX
DRY
DWY
DRX
App1
App2
(GUID2, DWY,DRX )
(GUI...
CopyrightPrismTech,2014
Routing Service
Discovery Service Routing Service
DWX
DRY
DWY
DRX
App1
App2
(GUID2, DWY,DRX )
(GUI...
CopyrightPrismTech,2014
Routing Service
Discovery Service Routing Service
DWX
DRY
DWY
DRX
App1
App2
(GUID2, DWY,DRX )
(GUI...
CopyrightPrismTech,2014
Routing Service
Discovery Service Routing Service
DWX
DRY
DWY
DRX
(RS2,2, GUID1, GUID2)
App1
App2
...
CopyrightPrismTech,2014
Routing Service
Discovery Service Routing Service
DWX
DRY
DWY
DRX
(RS2,1, GUID1, GUID2)
App1
App2
...
CopyrightPrismTech,2014
Routing Service
Discovery Service Routing Service
DWX
DRY
DWY
DRX
(RS2,1, GUID1, GUID2)
App1
App2
...
CopyrightPrismTech,2014
Routing Service
Discovery Service Routing Service
DWX
DRY
DWY
DRX
App1
App2
(GUID2, DWY,DRX )
(GUI...
Deployments
CopyrightPrismTech,2014
Through configuration, Vortex Cloud can be used in a wide cast of deployment
scenarios. The main d...
CopyrightPrismTech,2014
In IaaS deployments Vortex-Cloud is deployed on a private or public IaaS infrastructure such
as:
-...
CopyrightPrismTech,2014
CopyrightPrismTech,2014
VORTEX
Cloud
IaaS
CopyrightPrismTech,2014
CopyrightPrismTech,2014
IaaS deployment is straight forward
First you need to decide how many
Discovery and Routing servic...
CopyrightPrismTech,2014
Deployment of a Vortex-Cloud instance on a Linode server 88.80.185.102:
Example Configuration
java...
CopyrightPrismTech,2014
Federated deployment allows to efficiently exchange data between systems
without relying on a centr...
CopyrightPrismTech,2014
CopyrightPrismTech,2014
The federated deployment makes it possible to isolate and decouple subsystems
along to transparent...
Management
CopyrightPrismTech,2014
Management of Vortex-Cloud instances will be fully supported through Vortex-
Insight
In Vortex v1....
CopyrightPrismTech,2014
Cloud Management Tool
Live Demo!
http://demo-eu.prismtech.com:9000
bit.ly/vortex-chat
CopyrightPrismTech,2014
Vortex Demo
VORTEX
Café
VORTEX
Café
VORTEX
Web
VORTEX
Cloud
Private	
  Clouds
VORTEX
Café
CopyrightPrismTech,2014
Deployment of a Vortex-Cloud instance on a Linode server 88.80.185.102:
Cloud Configuration
java 
...
CopyrightPrismTech,2014
Application Configuration
java 
-Dddsi.network.transport=tcp 
-Dddsi.discovery.tcp.peers=88.80.185...
CopyrightPrismTech,2014
Vortex enable seamless, ubiquitous, efficient and timely data sharing across
mobile, embedded, desk...
Thanks!
Upcoming SlideShare
Loading in …5
×

Building and Scaling Internet of Things Applications with Vortex Cloud

687 views

Published on

Published in: Software, Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
687
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Building and Scaling Internet of Things Applications with Vortex Cloud

  1. 1. Building and Scaling Internet of Things Applications with Angelo  Corsaro,  PhD   Chief  Technology  Officer   angelo.corsaro@prismtech.com - Cloud
  2. 2. CopyrightPrismTech,2014 Cloud Messaging is a key architectural element at the foundation of any Internet of Things (IoT) and Industrial Internet (I2) Systems As the architectural element providing connectivity, its time and space efficiency, elasticity, and fault-tolerance is key in operating and scaling Internet of Things and Industrial Internet Applications Cloud Messaging
  3. 3. CopyrightPrismTech,2014 E-Health Hospital A Analytics Big  Data  Store Hospital B ?
  4. 4. CopyrightPrismTech,2014 Smart City ?
  5. 5. Vortex
  6. 6. CopyrightPrismTech,2014 The Vortex Platform Vortex enable seamless, ubiquitous, efficient and timely data sharing across mobile, embedded, desktop, cloud and web applications OpenSplice Enterprise
  7. 7. CopyrightPrismTech,2014 One Standard, One set of Tools, One Goal — Ubiquitous Data Sharing The Vortex Platform VORTEX Web VORTEX Lite VORTEX Gateway VORTEX Cloud Private Clouds VORTEX Tools • Insight   • Record/Replay   • Tuner   • Tester   • Configurator OpenSplice Enterprise VORTEX Café
  8. 8. Vortex Cloud
  9. 9. CopyrightPrismTech,2014 Vortex Cloud provides a universally accessible “Internet Service” for sharing data between DDS-enabled applications Vortex Cloud
  10. 10. CopyrightPrismTech,2014 ! Elastic and Fault-Tolerant Public/Private Clouds Deployments Unicast and Multicast Communication Source Filtering Customisable Load-Balancing Vortex Cloud
  11. 11. CopyrightPrismTech,2014 ! Efficient Binary Protocol (DDSI) Multiple Transports: - UDP/IP - TCP/IP - WebSockets Connectivity to MQTT, AMQP, etc., via Vortex Gateway Vortex Cloud
  12. 12. Architecture
  13. 13. CopyrightPrismTech,2014 At its core, Vortex-Cloud is made by two building blocks: Discovery Service: Deals with transparently mediating and scaling the match between applications as well as establishing connectivity Routing Service: Efficiently and scalable mediates the communication between DDS applications Discovery and Routing Services Discovery Service Routing Service
  14. 14. CopyrightPrismTech,2014 The Discovery service, is an elastic and fault tolerant service that: Controls access to information Matches DataReaders and DataWriters while minimising the discovery information propagated to end applications Establish the optimal communication path between communicating end-points Manages and load-balance the Routing Service instances For a generic DDS application, the Discovery Service is completely transparent Discovery Service
  15. 15. CopyrightPrismTech,2014 Discovery Service Discovery Service
  16. 16. CopyrightPrismTech,2014 Discovery Service Discovery Service App1 DWX DRY
  17. 17. CopyrightPrismTech,2014 Discovery Service Discovery Service LB App1 DWX DRY
  18. 18. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY App1
  19. 19. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY (DWX,DRY ) App1
  20. 20. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY (GUID1, DWX,DRY ) App1
  21. 21. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY App2 DWY DRX App1 (GUID1, DWX,DRY )
  22. 22. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX App1 LB App2 (GUID1, DWX,DRY )
  23. 23. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX App2 App1 (GUID1, DWX,DRY )
  24. 24. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX (DWY,DRX ) App2 App1 (GUID1, DWX,DRY )
  25. 25. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX (GUID2, DWY,DRX ) App2 App1 (GUID1, DWX,DRY )
  26. 26. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX Match! Match! App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  27. 27. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX App2 DWA DRB App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  28. 28. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX DWA DRB App2 LB App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  29. 29. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX DWA DRB App2 (DWA,DRB ) App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  30. 30. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX DWA DRB App3 (GUID3, DWA,DRB )App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  31. 31. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX DWA DRB App3 (GUID3, DWA,DRB )App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  32. 32. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX DWA DRB App3 (GUID3, DWA,DRB )App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  33. 33. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX DWA DRB App3 (GUID3, DWA,DRB ) App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY ) LB App1
  34. 34. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX DWA DRB App3 (GUID3, DWA,DRB ) App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY ) App1 (DWX,DRY )
  35. 35. CopyrightPrismTech,2014 Discovery Service Discovery Service DWX DRY DWY DRX DWA DRB App3 (GUID3, DWA,DRB ) App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY ) App1
  36. 36. CopyrightPrismTech,2014 The Routing service, is an elastic and fault tolerant service that: Efficiently routes information from producer to consumers Provides configurable decoupling between producing and consuming applications For a generic DDS application, the Routing Service is completely transparent Routing Service
  37. 37. CopyrightPrismTech,2014 Routing Service Discovery Service Routing Service DWX DRY DWY DRX Match! Match! App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  38. 38. CopyrightPrismTech,2014 Routing Service Discovery Service Routing Service DWX DRY DWY DRX App1 App2 (RS2,2, GUID1, GUID2) (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  39. 39. CopyrightPrismTech,2014 Routing Service Discovery Service Routing Service DWX DRY DWY DRX (RS2,2) (RS2,2)App1 App2 (RS2,2, GUID1, GUID2) (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  40. 40. CopyrightPrismTech,2014 Routing Service Discovery Service Routing Service DWX DRY DWY DRX App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY ) (RS2,2, GUID1, GUID2)
  41. 41. CopyrightPrismTech,2014 Routing Service Discovery Service Routing Service DWX DRY DWY DRX App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY ) (RS2,2, GUID1, GUID2)
  42. 42. CopyrightPrismTech,2014 Routing Service Discovery Service Routing Service DWX DRY DWY DRX App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY ) (RS2,2, GUID1, GUID2)
  43. 43. CopyrightPrismTech,2014 Routing Service Discovery Service Routing Service DWX DRY DWY DRX (RS2,2, GUID1, GUID2) App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  44. 44. CopyrightPrismTech,2014 Routing Service Discovery Service Routing Service DWX DRY DWY DRX (RS2,1, GUID1, GUID2) App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY )
  45. 45. CopyrightPrismTech,2014 Routing Service Discovery Service Routing Service DWX DRY DWY DRX (RS2,1, GUID1, GUID2) App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY ) (RS2,1) (RS2,1)
  46. 46. CopyrightPrismTech,2014 Routing Service Discovery Service Routing Service DWX DRY DWY DRX App1 App2 (GUID2, DWY,DRX ) (GUID1, DWX,DRY ) (RS2,2, GUID1, GUID2)
  47. 47. Deployments
  48. 48. CopyrightPrismTech,2014 Through configuration, Vortex Cloud can be used in a wide cast of deployment scenarios. The main deployment cases can be classified as: Single or Multi site (region) IaaS deployment Federated Deployment In-System Deployment Deployment Scenarios
  49. 49. CopyrightPrismTech,2014 In IaaS deployments Vortex-Cloud is deployed on a private or public IaaS infrastructure such as: - Amazon EC2 - Linode - Digital Ocean - Google Cloud Platform - Microsoft Azure - … Vortex-Cloud can be deployed as a single instance or federated across IaaS regions or even providers (e.g. spanning across Linode and EC2) IaaS Deployment
  50. 50. CopyrightPrismTech,2014
  51. 51. CopyrightPrismTech,2014 VORTEX Cloud IaaS
  52. 52. CopyrightPrismTech,2014
  53. 53. CopyrightPrismTech,2014 IaaS deployment is straight forward First you need to decide how many Discovery and Routing service instance to run — You need two instance of each to ensure fault- tolerance Then you simply need to start the instance with the proper transport and end-point configuration IaaS Deployment Configuration Discovery Service Routing Service
  54. 54. CopyrightPrismTech,2014 Deployment of a Vortex-Cloud instance on a Linode server 88.80.185.102: Example Configuration java -jar -Dlog.level=INFO -Dcloud.discovery.user.tcp.port=7400 -Dcloud.discovery.user.externalNetworkAddresses=88.80.185.102:7400 -Dcloud.discovery.services.tcp.port=6400 discovery-service.jar java -jar -Dlog.level=INFO -Dcloud.routing.user.tcp.port=5000 -Dcloud.routing.user.externalNetworkAddresses=88.80.185.102:5000 -Dcloud.routing.services.tcp.port=5005 -Dcloud.routing.services.tcp.peers=88.80.185.102:6400 routing-service.jar
  55. 55. CopyrightPrismTech,2014 Federated deployment allows to efficiently exchange data between systems without relying on a centralised IaaS infrastructure This deployment can be thought-of as if the servers typically available on a IaaS platform were to be deployed on the edge of the systems being integrated Another way of looking at this deployment is as a special kind of multi-site private cloud deployment in which a single instance of Vortex-Cloud is configured to span multiple sites Federated Deployment
  56. 56. CopyrightPrismTech,2014
  57. 57. CopyrightPrismTech,2014 The federated deployment makes it possible to isolate and decouple subsystems along to transparently integrate them Sub-systems can take advantage of multicast, while communication among Vortex Cloud can be carried over unicast (either UDP/IP or TCP/IP) Federated deployment can be used to transparently connect to a Vortex-Cloud instance deployed on a IaaS an entire subsystem Deployment Options
  58. 58. Management
  59. 59. CopyrightPrismTech,2014 Management of Vortex-Cloud instances will be fully supported through Vortex- Insight In Vortex v1.0 a command line tool is available to inspect the status of an instance of Vortex Cloud - Discovered DataReader and DataWriters - Discovery Service Instances - Routing Service Instances - Routes Vortex Cloud Management
  60. 60. CopyrightPrismTech,2014 Cloud Management Tool
  61. 61. Live Demo! http://demo-eu.prismtech.com:9000 bit.ly/vortex-chat
  62. 62. CopyrightPrismTech,2014 Vortex Demo VORTEX Café VORTEX Café VORTEX Web VORTEX Cloud Private  Clouds VORTEX Café
  63. 63. CopyrightPrismTech,2014 Deployment of a Vortex-Cloud instance on a Linode server 88.80.185.102: Cloud Configuration java -jar -Dlog.level=INFO -Dcloud.discovery.user.tcp.port=7400 -Dcloud.discovery.user.externalNetworkAddresses=88.80.185.102:7400 -Dcloud.discovery.services.tcp.port=6400 discovery-service.jar java -jar -Dlog.level=INFO -Dcloud.routing.user.tcp.port=5000 -Dcloud.routing.user.externalNetworkAddresses=88.80.185.102:5000 -Dcloud.routing.services.tcp.port=5005 -Dcloud.routing.services.tcp.peers=88.80.185.102:6400 routing-service.jar
  64. 64. CopyrightPrismTech,2014 Application Configuration java -Dddsi.network.transport=tcp -Dddsi.discovery.tcp.peers=88.80.185.102:7400 -Dddsi.discovery.externalNetworkAddresses=none -Ddds.partition=demo@vortex.io -DrefreshTimeout=40 -Dddsi.discovery.externalNetworkAddresses=none -jar ./ishapes-2.0.0-SNAPSHOT.jar &>/dev/null
  65. 65. CopyrightPrismTech,2014 Vortex enable seamless, ubiquitous, efficient and timely data sharing across mobile, embedded, desktop, cloud and web applications It is the first platform to address the data-sharing needs of Business Critical IoT, and Industrial Internet Systems Vortex is fully interoperable with DDS compliant implementations Concluding Remarks
  66. 66. Thanks!

×