Diamond Application Development Crafting Solutions with Precision
Â
How to Build the Connectivity Architecture for the Industrial Internet of Things (IoT)
1. How to Build the Connectivity Architecture for the
Industrial Internet of Things (IoT)
Rajive Joshi, Ph. D.
Principal Solution Architect
Real-Time Innovations Inc.
February 25, 2015
2. Outline
⢠Industrial IoT is different!
â Why? How? What?
⢠Open Interoperable Connectivity Architecture
â Role, Model, Rules, Patterns, Realization
⢠Building the Connected Architecture
â Generic Use Case
â Architecture Mapping
â Implementation
5. Industrial Internet of Things (IoT)
Why are they different?
⢠Operate in the real-world
â Non-stop
⢠Failure has severe consequences
â Loss of life or property, often both
⢠Data timeliness is critical
â Right answer delivered too late becomes the
wrong answer!
6. Industrial Internet of Things (IoT)
How are they different?
Technical Factors
⢠Scalability
â Volume, Variety
⢠Performance
â Velocity, Timeliness
⢠Resilience
â Availability, Recovery,
Durability
⢠Security
â Authentication, Authorization,
Integrity, Confidentiality, Non-
Repudiation
Business Factors
⢠Reliability
â Chance of failure during
anticipated lifetime
⢠Safety
â No unintended consequences
⢠Longevity
â Incremental upgrades on an
ongoing basis
⢠Diversity
â Independent developers
â Multiple technologies
7. There are many vectors along which we can measure end-point ârobustness.â Table 1Â
summarizes these vectors:
Table 1: Near-term end-point differences between IIoT and HIoT
Attribute Industrial IoT (IIoT) Human IoT (HIoT)
Market Opportunity Brownfield Greenfield
Product Lifecycle Until dead or obsolete Whims of style and/or budget
Solution Integration Heterogeneous APIs Vertically integrated
Security Access Identity & privacy
Human Interaction Autonomous Reactive
Availability 0.9999 to 0.99999 (4â5Â â9 âs) 0.99 to 0.999 (2â3Â â9âs)
Access to Internet Intermittent to independent Persistent to interrupted
Response to Failure Resilient, fail-in-place Retry, replace
Network Topology Federations of peer-to-peer Constellations of peripherals
Physical
Connectivity
Legacy & purpose-built Evolving broadband &
wireless
Example Gateways Commercial monitoring
Echelon SmartServer
Consumer home automation
Revolv Hub
Market Opportunity: âBrownfieldâ is a term borrowed from commercial real estate; it is
used to denote a potential site for building development that had been previously
developed for industrial or commercial use. IIoT uses brownfield to describe the
Collectively referred to as a
Gateway
Source:
http://www.moorinsightsstrategy.com/wp-content/uploads/2013/10/Connecting-with-the-Industrial-Internet-of-Things-IIoT-by-Moor-Insights-Strategy.pdf
Architecture Style Data Driven,
Publish-Subscribe
Human Driven,
Request-Response
Moore Insights report 2014
Industrial Internet of Things (IoT)
Whatâs different?
8. Industrial Internet of Things (IoT)
Common Pitfalls
Applying connectivity technologies meant for
human users
to
non-humans users*
*Time and again, people re-discover this!
9. Key Takeaways
⢠Industrial Internet of Things (IoT) is different!
â Why?
⢠Requirements
â How?
⢠Qualities: Technical and Business
â What ?
⢠Architecture and Techniques
ď¨ Connectivity architecture must address the
unique requirements of Industrial Internet Systems
11. Connectivity Architecture Role
Interoperability: Reduce Time to Integrate
Party A Party B
No standard exists, completely
custom integration
Interfaces can be
transformed/mapped
Interfaces use a
common model
âPlug and Playâ standard defined
Credit: Scott Neumann, UISol position paper
12. Data Centric Connectivity Architecture
Rule: Decouple apps from the Data
Data centricity enables interoperation, scale, integration
Messaging middleware
Databus
Unstructured files
Database
Data Centricity
Data Centricity
13. Connectivity Data Flow Patterns
Fundamental Building Blocks
Industrial IoT
⢠Stream
⢠Command
⢠Status
⢠Configuration
Conventional Enterprise IT
⢠Event
⢠Query
⢠Transaction
⢠Job
Architecture Style
Publish-Subscribe Request-Response
Activity Trigger
Data (State Change) Human (Decision)
14. DDS: The Connectivity Foundation for IIoT
Data-Centric Messaging Bus
⢠Data Distribution Service (DDS) is
an open industry standard for data-
centric connectivity
⢠From OMG, the worldâs largest
systems software standards
organization
â UML, DDS
â Industrial Internet Consortium (IIC)
⢠DDS is Open & Multi-Vendor
â Open Standard & Open Source
â 12 implementations
Interoperability
between source written
for different vendors
Interoperability between
applications running on different
implementations
DDS-RTPS Protocol
Real-Time Publish-Subscribe
Distribution
Fabric
DDS API
15. ⢠~800 Designs
â Healthcare
â Transportation
â Communications
â Energy
â Industrial
â Defense
⢠15+ Standards &
Consortia Efforts
DDS Industrial Internet Applications
Current Users
16. Connectivity Architecture using DDS
Connect Everything, Everywhere
⢠Proximity
⢠Platform
⢠Language
⢠Physical network
⢠Transport
protocol
⢠Network
topology
DDS âDataBusâ
Seamless data sharing regardless of:
Explicit Shared
Data Model
with
Controlled QoS
17. Connectivity Architecture using DDS
Interoperability Between Subsystems
DDS Routing Service
⢠Organize
â Hierarchy
⢠Bridge
â Data models
â Protocols
â Security domains
⢠Isolate
â Control export
â Filter access
â Translate models
Other
protocols
Routing Service
Pluggable Adapters
Transformation Engine
System
Super System
Subsystem
Subsystem
Subsystem
Subsystem
18. Key Takeaways
⢠Connectivity Architecture Role
â Interoperability to reduce integration time & effort
⢠Connectivity Architecture Model, Rules, Patterns
â Decouple apps from data
â Pick a core open connectivity standard
â Use gateways to organize and bridge
⢠Connectivity Architecture Realization
â Leverage the DDS open standard, popular in Industrial
Internet Systems, for integration of disparate
connectivity protocols
â Leading DDS implementations provide all the
connectivity fundamental building blocks
â Seamless data sharing from sensor to cloud
20. Connected Home
Gadgets ďď Service Provider ďď Occupants
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
WAN
Many Devices
Internal LAN
Many Users
LAN
At Home
⢠Fixed Network
⢠Stable Addressing (relatively)
⢠Ad-hoc components
⢠Gateway
21. Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
WAN
Many Devices
Internal LAN
Many Users
LAN
Field technician on-site
⢠Fixed Network
⢠Stable Addressing (relatively)
⢠Managed Components
⢠Gateway
Connected Energy
Turbines ďď Operations ďď Operators
22. Connected Healthcare
Patient Monitors ďď Hospital ďď Doctors
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
WAN
Many Devices
Internal LAN
Many Users
LAN
Doctor at the Hospital
⢠Mobile Network
⢠Dynamic Addressing
⢠Certified Components
⢠Gateway
23. Connected Cars
Car ďď Service Provider ďď Drivers
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
WAN
Many Devices
Internal LAN
Many Users
LAN
In the Vehicle
⢠Mobile Network
⢠Dynamic Addressing
⢠Qualified Components
⢠Gateway
24. Generic Connectivity Use Case
Devices ďď Cloud ďď Users
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
WAN
Many Devices
Internal LAN
Many Users
LAN
Occasionally
⢠Mobile Network
⢠Dynamic Addressing
⢠Ad-hoc Components
⢠Gateway
25. Connectivity Architecture Mapping
Choosing the right technology
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
WAN
Many Devices
Internal LAN
Many Users
LAN
Occasionally
?
?
?
?
26. Connectivity Architecture Mapping
Choosing the right technology
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
WAN
Many Devices
Internal LAN
Many Users
LAN
Occasionally
DDS
- Stateful interactions and many data flow
patterns (now, future)
- Publish-Subscribe architecture style, data
driven
- Scalability, Performance, Resilience,
Security Requirements
- Disconnected & Intermittent Links
- Mobile Networks (Cellular and WiFi)
27. Connectivity Architecture Mapping
Choosing the right technology
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
WAN
Many Devices
Internal LAN
Many Users
LAN
Occasionally
Web (Web-Sockets, HTTP)
- Stateless interactions, single data flow
pattern (query)
- Request-Response architecture style,
human driven
- Established Scalability, Security
infrastructure
- Forgiving Performance, Resilience
requirements
- Ubiquitous access from any (mobile)
device or thin client
28. Connectivity Architecture Mapping
Choosing the right technology
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
WAN
Many Devices
Internal LAN
Many Users
LAN
Occasionally
DDS
- Stateful interactions and many data flow
patterns (now, future)
- Publish-Subscribe architecture style, data
driven
- Scalability, Performance, Resilience,
Security Requirements
- Reliability, Safety, Longevity requirements
- Diversity of transports and platforms
29. Connectivity Architecture Mapping
Choosing the right technology
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
WAN
Many Devices
Internal LAN
Many Users
LAN
Occasionally
DDS
- Stateful interactions and many data flow
patterns (now, future)
- Publish-Subscribe architecture style, data
driven
- Request-Reponse architecture style,
human driven
- Scalability, Performance, Resilience,
Security
- Longevity of Services
- Diversity of connectivity solutions
30. Connectivity Architecture Mapping
Choosing the right technology
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
Many Devices
Internal LAN
Many Users
LAN
Occasionally
⢠Mobile Network
⢠Dynamic Addressing
⢠Ad-hoc Components
⢠Gateway
DDS Databus
WAN
DDS Databus
31. Connectivity Architecture
Deployment View
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
Many Devices
Internal LAN
Many Users
LAN
Occasionally
⢠Mobile Network
⢠Dynamic Addressing
⢠Ad-hoc Components
⢠Gateway
DDS Databus, Domain 1
WAN
DDS Databus, Domain 1
Domain 0
32. Connectivity Architecture
Deployment View
Cloud
Intelligent Device
Intelligent Device
Intelligent Device
WAN
Many Devices
Internal LAN
Many Users
LAN
Occasionally
⢠Mobile Network
⢠Dynamic Addressing
⢠Ad-hoc Components
⢠Gateway
DDS Databus, Domain 1
WAN
DDS Databus, Domain 1
UDP, Shmem
Domain 0
TCP
UDP,
Shmem
33. Connectivity Implementation Example
Deployment View: Nodes
demo.rti.com
osx
(Mac OS Laptop)
WAN
Many Users
LAN
Occasionally
DDS Databus, Domain 1
WAN
DDS Databus, Domain 1
UDP, Shmem
Domain 0
TCP
UDP,
Shmem
vm1
(Linux Virtual Machine)
android
(Nexus 7 Tablet with LTE)
WAN
Domain 0
TCP
iPhone
(iOS)
34. Connectivity Implementation Example
Deployment View: Components
demo.rti.com
osx
(Mac OS Laptop)
WAN
Many Users
LAN
Occasionally
DDS Databus, Domain 1
WAN
DDS Databus, Domain 1
UDP, Shmem
Domain 0
TCP
UDP,
Shmem
vm1
(Linux Virtual Machine)
android
(Nexus 7 Tablet with LTE)
WAN
Domain 0
TCP
iPhone
(iOS)
rtiddsprototyper
rtiddsprototyper
rtiddsprototyper
Shapes
Demo
nodejs DDS Connector
35. Articulate Concept
1. Draw a diagram of the components and the interconnecting
data-flows
Define Structure
2. Define the data types for the interconnecting data flows (in
IDL or XML)
3. Define the system structure as a collection of data-oriented
interfaces (in XML)
Configure Behavior
4. Select from built-in Quality of Service (QoS) profiles to match
the data flow pattern; extend to match special cases.
5. Code component behaviors
35
Connectivity Implementation Example
Component Development Webinar
Build it Fast:
5 Steps from Concept to Working
Distributed System
37. Network Mobility
Devices ďď Cloud
⢠Switching between Cellular and Wi-Fi
â Seamless data sharing
â State managed by DDS
iOS Safari
Wi-Fi
http://demo.rti.com:7401/simple
38. Network Mobility
Devices ďď Cloud
⢠Switching between Cellular and Wi-Fi
â Seamless data sharing
â State managed by DDS
iOS Safari
Cellular (LTE) â Different IP Address Seamless Data Sharing
http://demo.rti.com:7401/simple
39. Elastic Cloud Applications
Cloud Apps ďď Cloud Apps
⢠Adding/removing/upgrading components
â Data is decoupled from components
DDS Databus, Domain 1
nodejs DDS Connector
40. Elastic Cloud Applications
Cloud Apps ďď Cloud Apps
⢠Adding/removing/upgrading components
â New components independently created to work
on the data
nodejs DDS Connector
DDS Databus, Domain 1
41. Connectivity Technology Triage
When to use what technology?
⢠Is there a human at one end?
â No! ď¨ Use DDS
⢠Device ďď Device
⢠Device ďď Cloud
â Yes! ď¨ Use DDS or Web-Sockets
⢠User Device ďď Cloud
â Web-browser ď¨ Use HTML5+Web-sockets
â App ď¨ Use DDS or HTML5+Web-sockets
⢠Ok to use DDS between
â Humans
â Non-humans
â Non-humans and Humans
42. ⢠Is it over a WAN?
â Yes! ď Use TCP (with TLS)
⢠Device ďď Cloud
â No! (LAN) ď Use UDP (with multicast, if available)
⢠Cloud App ďď Cloud App (within the Cloud LAN)
⢠Switching between Cellular and WiFi networks
â Use DDS to manage state, independently of the
network mobility and switching
â Use DDS Quality of Service (QoS) to control the
how the state is distributed and managed
Connectivity Technology Triage
With DDS, which transport to use?
43. Key Takeways
⢠Generic Connectivity Use Case
â Devices ďď Cloud ďď Users
⢠Devices ďď Cloud (over WAN)
â Use DDS over TCP
⢠Devices ďď Devices
â Use DDS over UDP (LAN) or TCP (WAN)
⢠Cloud Apps ďď Cloud Apps (within LAN)
â Use DDS over UDP
⢠Cloud ďď Users (WAN)
â Use DDS over TCP, or
â Use Web-Sockets + HTML (over TCP)
45. Review
⢠Industrial IoT is different!
â Why? How? What?
⢠Open Interoperable Connectivity Architecture
â Role, Model, Rules, Patterns, Realization
⢠Building the Connected Architecture
â Generic Use Case
â Architecture Mapping
â Implementation
46. Connectivity Architecture
Edge to Cloud: Databus Hierarchy
Unit DataBus
Unit DataBus
Intelligent
Machines
Intelligent
Systems
Intelligent
Industrial
Internet
Cloud
Enterprise LAN
Intelligent
System of
Systems
Unit LAN Segment
Sense Act
Think HMI
Intra-machine
Think HMI
Intra-machine
Sense Act
Think HMI
Intra-machine
46
48. Thank You
Rajive Joshi, Ph. D
Principal Solution Architect
Real-time Innovations Inc.
rajive@rti.com
49. Start using DDS Today!
Download the FREE complete RTI Connext
DDS Pro package for Windows and Linux:
⢠Leading implementation of DDS
⢠C, C++, C#/.NET and Java APIs
⢠Tools to monitor, debug, test, visualize and
prototype distributed applications and systems
⢠Adapters to integrate with existing applications and
IT systems