SlideShare a Scribd company logo
1 of 59
Download to read offline
From the Internet of Things to
Intelligent Systems:
A Developer's Primer
Rick G. Garibay
Distinguished Engineer, Neudesic
MVP, Microsoft Azure
@rickggaribay
Level: Intermediate
About Me
• Distinguished Engineer, Neudesic working on IoT,
Intelligent Transportation and Hospitality & Gaming
• Microsoft MVP, Microsoft Azure
• Co-Author, “Windows Server AppFabric Cookbook”
by Packt Pub.
• Chairman, Co-Founder Phoenix Connected
Systems User Group (PCSUG.org)
• twitter: @rickggaribay
• blog: http://rickgaribay.net
• email: rick.garibay@neudesic.com | b-rigari@microsoft.com
What is the Internet of Things?
The Internet of Things: By the
Numbers
B5075212
This change is happening
more rapidly than anyone
imagined.
This change could bring
tremendous opportunity to your
business, industry and you as
a technologist.
The Internet of Things is the
network of physical objects that
contain embedded technology to
communicate and interact with
their internal states or the external
environment.
From the Internet of Things to Intelligent Systems: A Developer's Primer
From the Internet of Things to Intelligent Systems: A Developer's Primer
OEM Revenue Opportunity |
Market Forecast CY17
Auto & Trans Retail Manufacturing Healthcare Energy Computing Telecom Consumer
$7 B $16 B $197 B $3 B $27 B $908 B $179 B $356 B System Revenue
Intelligent
Systems
1.7T$
Smart
Products
Grid
Renewables
Oil/Gas/Coal
Recovery and
Distribution
Points
of Sale
Restaurants
Hotels
Fuel
Stations
Patients
Clinics
Hospitals
Nursing
Homes
Mobile
Care
Safety
Security
Comfort
Lighting
Automation
Manufacturing
Integration and
Automation
Remote
Servicing
Predictive and
Reactive
Maintenance
Water
Waste
Pollution
Control
Fire
Emergency
Public
Safety
Law
Enforcement
Letters
Packages
Containers
Tanks Bulkware
Games
Events
Sports
Television
Streaming
Traffic Buses
Cars
Trucks
Trains
Vessels
Aircraft
Bikes
Smart
Energy
Smart
Retail
Smart
Mobility
Smart
Mobility
Smart
Logistics
Smart
Logistics
Smart
Factory
Smart
Factory
Smart
Cities
Smart
Cities
Smart
Entertain-
ment
Smart
Entertain-
ment
Smart
Health-
care
Smart
Building
Home
Smart
Building
Home
IoT Device Taxonomy
Large
Mobile
Micro
Small
POS terminal, ATM, MRI
x86, PC-like, apps
Industry handheld, POS tablet
ARM and x86, shell experience, apps
Gateways, wearables, panels, cars
ARM and x86, diverse hardware, no shell
Controllers, fixed-use, sensors, actuators
ARM, constrained hardware, headless
Raspberry Pi
Intel Galileo
Gadgeteer Fez Spider
5mm 5mm
Arduino Uno
Netduino Plus 2
Spark
Beyond the garage, the true
significance of IoT is the foundation it
provides for enabling new business
capabilities.
From
Information Technology
to
Operational Technology
IT
Servers,
Applications,
Systems
IT
Servers,
Applications,
Systems
OT
Devices,
Telemetry,
Command &
Control
OT
Devices,
Telemetry,
Command &
Control
Data-Driven Insight + Action at a Distance
Data-Driven Insight
• Data –> Information –> Insight ($+)
–Make more efficient use of resources
(reduce cost, environmental impact)
Example: Power management in buildings and data centers
–Provide more targeted products and
services (increase revenue, social
impact)
Example: Preventive maintenance, optimal usage analytics for
expensive machines
• “Things” = a rapidly expanding source
of raw material for the Insight pipeline
Action at a Distance
• Data isn’t the only raw material being unlocked by the IoT
– The ability to act remotely – automatically and intelligently
– Remote control is a source of efficiency
– Enables new forms of customer interaction and engagement
• IoT extends customer engagement opportunities to physical
products
• Taking engagement with customers beyond the point of sale
– Preventive maintenance
– Best practices guidance
– Proactive sales
– Remote servicing
• From CRM to PRM – “Product Relationship Management”
From IoT to Intelligent Systems
Large
Mobile
Micro
Small
M2M/
Device to
Cloud
Various Communication Protocols
2G2G
Wi-
Fi
Wi-
Fi
Bluetooth/
BLE
Bluetooth/
BLE
RFIDRFID
GPRSGPRS
SMSSMS
3G3G
LTELTE
Wi
Max
Wi
Max
ZigBeeZigBee
Various Application Protocols
AMQPAMQP MQTTMQTT
CoAPCoAP
CustomCustom
HTTPHTTP
……
MQ Telemetry Tranport (MQTT)
• Born out of IBM MQ Series messaging middleware product
• Compact binary protocol – min. 7 byte overhead per message
sent
• No structured message – message bodies are byte arrays
• Simple topic name based pub/sub messaging model
– Send to topic name, e.g., “/a/b/c/d” or “/a/b/e/f”
– Subscribe to topic name, e.g., “/a/b/c/d” or use wildcard, e.g., “/a/b/#”
• Reliable – fire-and-forget to reliable, exactly-once delivery
• Two innovative, device-oriented features:
– Retain – mark a message to be delivered to new subscribers on
connection
– Last will and testament – register message to be sent on abrupt
disconnect
• Not general purpose – lacking key features, e.g., flow control
• Standardization in progress through OASIS
Constrained Application Protocol
(CoAp)
• Embedded web transfer protocol (coap://)
• Asynchronous transaction model
• UDP binding with reliability and multicast support
• GET, POST, PUT, DELETE methods
• URI support
• Small, simple 4 byte header
• DTLS based PSK, RPK and Certificate security
• Subset of MIME types and HTTP response codes
• Built-in discovery
• Optional observation and block transfer
Advanced Message Queuing
Protocol 1.0 (AMQP)
• Efficient – binary connection-oriented protocol
• Reliable – fire-and-forget to reliable, exactly-once delivery
• Portable data representation and structured message
definition
• Flexible – peer-peer, client-broker, and broker-broker
topologies
• Broker-model independent – no requirements on broker
internals
• Rich flow control – multiplex multiple data streams over a
connection
• OASIS Standard (Oct 2012); International Standardization in
progress
– Somewhat controversial…
Message Types
Voluntary
information flow
from device to
another system.
Requests for
information from
device to other
systems.
Instructions
from other
systems to a
device.
Information flow
from other
systems to the
device.
Telemetry Inquires Commands Notifications
Default Connectivity Model
• Connectivity (IPv6 + VPN)
– Give every device a routable IP address
– Devices expose services for control/query
operations
– Command Source is either on premise or remote,
enabled by a bridge of some sort.
– Remote access is enabled within the VPN’s routing
domain
Default Connectivity Model
Connections are
command source
initiated.
Connections are
command source
initiated.
Device exposes a
service/API
Device exposes a
service/API
Command
Source
Command
Source
DEMO 1
Device Commands with the Default IoT Connectivity Model
Default Connectivity Model
Challenges
• Addressability
– Requires network-layer intervention
– Doesn’t work for devices that are loosely connected (roaming,
frequently offline)
• Security
– By default, every protocol that can be routed over Ethernet can flow –
and between any two nodes
– SSL/TLS is not an option on many small devices.
– VPN controls access to IP addresses and ports, not application
endpoints (lack of granular authorization)
– Many devices are not VPN-capable due to resource/bandwidth
constraints
• Efficient scale
– VPN infrastructure is expensive and costly to maintain
– Does not address device management.
Think 1K, 10K, 100K+ devices
On-Premise Brokered Device
Communications
• Connectivity (IPv6 + VPN)
– Give every device a routable IP address.
– Devices participate in pub-sub messaging on-prem or
via VPN using industry standard protocol like MQTT.
– Command Source is either on premise or remote,
enabled by a bridge of some sort.
– Remote access is enabled within the VPN’s routing
domain.
On-Premise Brokered Device
Communications
Device subscribes to
broker via TCP, etc.
Device subscribes to
broker via TCP, etc.
Device BrokerDevice Broker
Typically a socket
connection.
Typically a socket
connection.
Messaging happens
on premise, attack
surface minimized.
Messaging happens
on premise, attack
surface minimized.
MQTT, etc.
Command
Source
Command
Source
Must be on premise
or somehow bridged.
Must be on premise
or somehow bridged.
DEMO 2
Brokered Commands with MQTT & RabbitMQ
On-Premise Brokered Device
Communications Challenges
• Addressability
– Device and broker are intimately connected.
– Doesn’t work for devices that are loosely connected (roaming,
frequently offline).
• Security
– SSL/TLS is not an option on many small devices.
– Many devices are not VPN-capable due to resource/bandwidth
constraints.
• Efficient scale
– VPN infrastructure is expensive and costly to maintain.
– External commands require some kind of a gateway service.
– Does not address device management.
Think 1K, 10K, 100K+ devices
Service Assisted Communications
• Devices connect via open standard protocols
– AMQP 1.0 and HTTP supported natively by the Service Bus
– MQTT, CoAP and others can be implemented via custom gateway/adapter model
– Sockets secured via TLS (or a lightweight variant)
• Each device has a dedicated Inbox/Outbox on the Gateway
– Device sends telemetry/alerts and routes service invocations via its Outbox
– Device receives commands and queries from its Inbox
– Correlated request/reply patterns can be implemented on top of these two messaging channels
– The device knows, and has access to, only its own specific inbox/outbox endpoints (URI’s)
Backend
Components
Backend
Components
Cloud GatewayCloud Gateway
InboxInbox
OutboxOutbox
CommandAPICommandAPI
ProtocolHeadProtocolHead
Service-Assisted Communications
Connections are
device-initiated and
outbound
Connections are
device-initiated and
outbound
NAT/Firewall
Device (Router)
NAT/Firewall
Device (Router)
IP NAT
Cloud
Gateway
Cloud
Gateway
Command
Source
Command
Source
Port mapping is
automatic, outbound
Port mapping is
automatic, outbound
Device does not
listen for unsolicited
traffic
Device does not
listen for unsolicited
traffic
No inbound ports
open, attack surface
is minimized
No inbound ports
open, attack surface
is minimized
Access-controlled
command API
Secure, managed
hosting platform
Access-controlled
command API
Secure, managed
hosting platform
DNS
myapp.cloudapp.net
IoT Cloud Platform “Stack” –
Abstract Model
Non-IP
Capable
Devices
IP
Capable
Devices
CloudGateway
Custom
Code
CloudPlatform
Services
Enterprise
Systems
Third-Party Data
and Services
A B C D E F
Field
Gateway
Azure Hosting Options
Non-IP
Capable
Devices
IP
Capable
Devices
CloudGateway
Custom
Code
CloudPlatform
Services
Enterprise
Systems
Third-Party Data
and Services
A B C D E F
Web SitesWeb Sites
Mobile ServicesMobile Services Cloud ServicesCloud Services
External CodeExternal Code
VM RolesVM Roles
Field
Gateway
Azure Platform Services
Non-IP
Capable
Devices
IP
Capable
Devices
CloudGateway
Custom
Code
CloudPlatform
Services
Enterprise
Systems
Third-Party Data
and Services
A B C D E F
HD InsightHD Insight
Azure
Databases
Azure
Databases
Table/Blob
Storage
Table/Blob
Storage
BizTalk ServicesBizTalk Services
Service BusService Bus
Field
Gateway
Media ServicesMedia Services
Azure – IoT Cloud Gateway
Non-IP
Capable
Devices
IP
Capable
Devices
CloudGateway
Custom
Code
CloudPlatform
Services
Enterprise
Systems
Third-Party Data
and Services
Field
Gateway
A B C D E F
ServiceBus
A/B
ServiceBus
A/B
Custom
GWRole
Pattern 1: Device Direct Pattern 2: Custom Gateway
Telemetry Routing with the Azure
Service Bus
 Split the stream
 Enable parallel processing
 Implement different Q QoS levels
 Level and balance the load
Topic SubsFilters
Service Bus
Device 2
Receiver 2b
Device 1
Device 3
Receiver 2a
Alerts
Data
Receiver 1
Alert
Processor
Storage
Pre-processor
Routing Commands with the
Azure Service Bus
TopicSubs Filters
Service Bus
Device 2
Device 1
Device 3
Sender 2
Model A
Device 3
Sender 1
Model T
Model T
Model A
 Target individuals or groups
 Set delivery timeouts (TTL)
 Deal with spotty connectivity
 Traverse NATs/firewalls
securely
DEMO 3
Service-Assisted Device-Direct Commands over Azure Service Bus
Service Assisted Custom/Cloud
Gateway Challenges
• Connectivity
– Addressability (non-IP devices, firewalls/NATs, online/offline,
roaming)
– Heterogeneity (OS/firmware, power/network constraints,
protocols)
– Security (identity, authorization, privacy, data integrity)
– Efficient Scale (millions of devices per tenant, at a reasonable
cost)
• Messaging
– Telemetry (collection, filtering, routing, throughput, per-
message QoS)
– Notifications (targeting devices/device groups within large
populations)
– Command/Query and Inquiries (correlation, sessions/batching)
Additional Key Considerations
• Device Provisioning
• Security
• Performance
• Scale
• Redundancy
Service Bus MessagingService Bus Messaging
Device Gateway Accelerator –
Reference Architecture
(Reykjavík)
1. Custom Protocol
Gateway
2. Telemetry Pump and
Adapters
3. Command Gateway
4. Provisioning Service
and Metadata Store
Custom Protocol Gateway HostCustom Protocol Gateway Host
MQTTMQTT CoAPCoAP ……
Telemetry/Request
Router
Telemetry/Request
Router
Notification/Command
Router
Notification/Command
Router
AdaptersAdapters Command API HostCommand API Host
Provisioning
Service
Device
Metadata
and Key
Store HDInsightHDInsight
BizTalkBizTalk
OrleansOrleans
AzureStorageAzureStorage
AzureDbsAzureDbs
ServiceBusServiceBus
HTTP
HTTP
DevicesDevices
AMQP
11
22 33
44
ConfigurationConfiguration
HTTP
YourProcessYourProcess
Device Gateway – Partition
Topology
• The “Partition” is a set of resources dedicated to a specific
device population (or subset thereof).
• The “Master” role manages partition deployment and device
provisioning into the partitions.
PartitionMaster
Partition
Repo
Partition
Repo
Command TopicsCommand Topics
Service Bus Standard ProtocolService Bus Standard Protocol Custom ProtocolCustom Protocol
Device RepoDevice Repo
in0000in0000 inFFFFinFFFF…in0001in0001 in0002in0002
AMQPAMQP HTTPHTTP MQTTMQTT Custom Protocol HostCustom Protocol Host
Protocol AdaptersProtocol Adapters
diagdiagallall diagdiagallall diagdiagallall diagdiagallall
Telemetry Pump/RouterTelemetry Pump/Router
N Instances
Telemetry
Adapter
Telemetry
Adapter
Telemetry
Adapter
Telemetry
Adapter
Telemetry
Adapter
Telemetry
Adapter
Deployment
Runtime
Deployment
Runtime
out0000out0000 outFFFFoutFFFF…out0001out0001 out0002out0002
s0001s0001
s0002s0002
s03E7s03E7
s0001s0001
s0002s0002
s03E7s03E7
s0001s0001
s0002s0002
s03E7s03E7
s0001s0001
s0002s0002
s03E7s03E7
g0000/
rte0000
g0000/
rte0000
g0000/
rte0001
g0000/
rte0001
out0out0
out1out1
out2out2
n Groups of m Routers
out0out0
out1out1
out2out2
g0001/
rte0000
g0001/
rte0000
g0001/
rte0001
g0001/
rte0001
out0out0
out1out1
out2out2
out0out0
out1out1
out2out2
Provisioning
Runtime
Provisioning
Runtime
Ingestion Topics (Telemetry)Ingestion Topics (Telemetry)
Command
API Host
Command
API Host
Device Gateway – Customer
Topology
• Global coverage achieved by spreading partitions across multiple Azure
regions
• Reference architecture supports up to 1000 distinct partitions
• Number and distribution of partitions driven by data volumes, business
continuity, legal and proximity considerations
DEMO 4
Provisioning and Exercising Reykjavik
Device
Device
Event
Hub
Azure
Event
Processing
Azure
Storage
Azure
Customer Apps
HDInsight
BI Systems
3rd Party Solutions
Data Flow
SQL
Azure
Event
Hub
Basic
Device
Registry
Command & Control
Microsoft Azure Stack for IoT
Device
(Non-ISS)
Device
(Non-ISS)
Event
Hub
Azure
Storage
Rich Device Registry & Object Model of “Things”Rich Device Registry & Object Model of “Things”
Azure
ISS
Customer Apps
HDInsights
BI Systems
3rd Party Solutions
Data Flow
ISS Solution built on Azure
SQL
Azure
Event
Hub
Basic
Device
Registry
ISSSecurity,
Privacy&
SharingControls
IoT Rule
Templates
IoT Rule
Templates
Natural Language
Query
Natural Language
Query
ISS
Agents
ISS
Agents
ISS
Agents
ISS Solution
SingleAccount,PerdeviceBilling,
etc.
SingleAccount,PerdeviceBilling,
etc.
Command & Control
Azure
Event
Processing
ISS
Portal
ISS
Portal
More on ISS
• //build 2014: Windows and the Internet of Things:
http://bit.ly/1ijTeyW
• Internetofyourthings.com
More on Reykjavik/Device
Gateway
• //build 2014: Internet of Things with Azure Service Bus:
http://bit.ly/1m4MMME
• Neudesic is currently offering industry-specific
briefings on IoT.
• The Azure M2M team is very interested in working with
early adopters.
• If you or your organization think you’re a candidate for
Device Gateway and are interested in learning more
connect with us:
http://neudesic.com/iot
Invitation code: VSLChicago
References
• Internet of Things with Azure Service Bus:
http://bit.ly/1m4MMME
• Windows and the Internet of Things:
http://bit.ly/1ijTeyW
• Subscribe!: http://channel9.msdn.com/Blogs/Subscribe
• Service Assisted Communications:
http://vasters.com/clemensv/CategoryView,category,Ar
chitecture.aspx
• Internet of Things & Azure Service Bus:
http://bit.ly/1jFf5k5 and http://bit.ly/1jFf5k5
• M2MQTT Library for .NET MF:
http://m2mqtt.codeplex.com/
• Special thanks to Clemens Vaster, Markus Horseman
and Todd Holmquist-Sutherland on the Microsoft Azure
M2M team.
About Me
• Distinguished Engineer, Neudesic working on IoT,
Intelligent Transportation and Hospitality & Gaming
• Microsoft MVP, Microsoft Azure
• Co-Author, “Windows Server AppFabric Cookbook”
by Packt Pub.
• Chairman, Co-Founder Phoenix Connected
Systems User Group (PCSUG.org)
• twitter: @rickggaribay
• blog: http://rickgaribay.net
• email: rick.garibay@neudesic.com | b-rigari@microsoft.com

More Related Content

What's hot

What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?Angelo Corsaro
 
IRJET- A Survey of Working on Virtual Private Networks
IRJET- A Survey of Working on Virtual Private NetworksIRJET- A Survey of Working on Virtual Private Networks
IRJET- A Survey of Working on Virtual Private NetworksIRJET Journal
 
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...Sagar Rai
 
IoT Communication Protocols
IoT Communication ProtocolsIoT Communication Protocols
IoT Communication ProtocolsPradeep Kumar TS
 
VPN as the Key for a Successful MSP Business
VPN as the Key for a Successful MSP BusinessVPN as the Key for a Successful MSP Business
VPN as the Key for a Successful MSP BusinessSafar Safarov
 
Implementing vpn using direct access technology
Implementing vpn using direct access technologyImplementing vpn using direct access technology
Implementing vpn using direct access technologyferasfarag
 
Wp ipam infoblox
Wp ipam infobloxWp ipam infoblox
Wp ipam infobloxislamet
 
Popeye - Using Fine-grained Network Access Control to Support Mobile Users an...
Popeye - Using Fine-grained Network Access Control to Support Mobile Users an...Popeye - Using Fine-grained Network Access Control to Support Mobile Users an...
Popeye - Using Fine-grained Network Access Control to Support Mobile Users an...Tal Lavian Ph.D.
 
Jini network technology
Jini  network   technologyJini  network   technology
Jini network technologyKeerthi Thomas
 
The History and Evolution of SDN
The History and Evolution of SDNThe History and Evolution of SDN
The History and Evolution of SDNNapier University
 
Jini Network Technology
Jini Network TechnologyJini Network Technology
Jini Network TechnologyKwangshin Oh
 

What's hot (20)

What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?
 
Vp npresentation
Vp npresentationVp npresentation
Vp npresentation
 
Vp npresentation
Vp npresentationVp npresentation
Vp npresentation
 
Ism
IsmIsm
Ism
 
Unizen Smart Automation Brochure-2015
Unizen Smart Automation Brochure-2015Unizen Smart Automation Brochure-2015
Unizen Smart Automation Brochure-2015
 
Vpn rsvp
Vpn rsvpVpn rsvp
Vpn rsvp
 
IRJET- A Survey of Working on Virtual Private Networks
IRJET- A Survey of Working on Virtual Private NetworksIRJET- A Survey of Working on Virtual Private Networks
IRJET- A Survey of Working on Virtual Private Networks
 
ioT_SDN
ioT_SDN ioT_SDN
ioT_SDN
 
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
SDN( Software Defined Network) and NFV(Network Function Virtualization) for I...
 
IoT Communication Protocols
IoT Communication ProtocolsIoT Communication Protocols
IoT Communication Protocols
 
VPN as the Key for a Successful MSP Business
VPN as the Key for a Successful MSP BusinessVPN as the Key for a Successful MSP Business
VPN as the Key for a Successful MSP Business
 
JINI Technology
JINI TechnologyJINI Technology
JINI Technology
 
Implementing vpn using direct access technology
Implementing vpn using direct access technologyImplementing vpn using direct access technology
Implementing vpn using direct access technology
 
Wp ipam infoblox
Wp ipam infobloxWp ipam infoblox
Wp ipam infoblox
 
Popeye - Using Fine-grained Network Access Control to Support Mobile Users an...
Popeye - Using Fine-grained Network Access Control to Support Mobile Users an...Popeye - Using Fine-grained Network Access Control to Support Mobile Users an...
Popeye - Using Fine-grained Network Access Control to Support Mobile Users an...
 
Jini network technology
Jini  network   technologyJini  network   technology
Jini network technology
 
The History and Evolution of SDN
The History and Evolution of SDNThe History and Evolution of SDN
The History and Evolution of SDN
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Jini Network Technology
Jini Network TechnologyJini Network Technology
Jini Network Technology
 
SDN-ppt-new
SDN-ppt-newSDN-ppt-new
SDN-ppt-new
 

Similar to From the Internet of Things to Intelligent Systems: A Developer's Primer

From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...Rick G. Garibay
 
Minimizing Information Transparency
Minimizing Information TransparencyMinimizing Information Transparency
Minimizing Information TransparencyUsman Arshad
 
Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Eurotech
 
Stop Wasting Energy on M2M
Stop Wasting Energy on M2MStop Wasting Energy on M2M
Stop Wasting Energy on M2MEurotech
 
Geef Industry 4.0 een boost
Geef Industry 4.0 een boostGeef Industry 4.0 een boost
Geef Industry 4.0 een boostHowest_ENM
 
Protocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNGerardo Pardo-Castellote
 
Internet of Things Architecture / Topology
Internet of Things Architecture / TopologyInternet of Things Architecture / Topology
Internet of Things Architecture / TopologyNEEVEE Technologies
 
IoT and the Oil & Gas industry at M2M Oil & Gas 2014 in London
IoT and the Oil & Gas industry at M2M Oil & Gas 2014 in LondonIoT and the Oil & Gas industry at M2M Oil & Gas 2014 in London
IoT and the Oil & Gas industry at M2M Oil & Gas 2014 in LondonEurotech
 
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
Industrial IoT Mayhem? Java IoT Gateways to the RescueIndustrial IoT Mayhem? Java IoT Gateways to the Rescue
Industrial IoT Mayhem? Java IoT Gateways to the RescueEurotech
 
Gab 2015 aymeric weinbach azure iot
Gab   2015 aymeric weinbach azure iot Gab   2015 aymeric weinbach azure iot
Gab 2015 aymeric weinbach azure iot Aymeric Weinbach
 
IoT Solutions Made Simple with Everyware IoT
IoT Solutions Made Simple with Everyware IoTIoT Solutions Made Simple with Everyware IoT
IoT Solutions Made Simple with Everyware IoTEurotech
 
ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingssuser06ea42
 

Similar to From the Internet of Things to Intelligent Systems: A Developer's Primer (20)

From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
 
Internet of things
Internet of thingsInternet of things
Internet of things
 
INTERNET OF THINGS.pptx
INTERNET OF THINGS.pptxINTERNET OF THINGS.pptx
INTERNET OF THINGS.pptx
 
VPN
VPN VPN
VPN
 
intro to iot.pdf
intro to iot.pdfintro to iot.pdf
intro to iot.pdf
 
Minimizing Information Transparency
Minimizing Information TransparencyMinimizing Information Transparency
Minimizing Information Transparency
 
Vp npresentation 2
Vp npresentation 2Vp npresentation 2
Vp npresentation 2
 
Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?
 
Stop Wasting Energy on M2M
Stop Wasting Energy on M2MStop Wasting Energy on M2M
Stop Wasting Energy on M2M
 
Geef Industry 4.0 een boost
Geef Industry 4.0 een boostGeef Industry 4.0 een boost
Geef Industry 4.0 een boost
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Vpn networks kami
Vpn networks kamiVpn networks kami
Vpn networks kami
 
Protocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDN
 
Internet of Things Architecture / Topology
Internet of Things Architecture / TopologyInternet of Things Architecture / Topology
Internet of Things Architecture / Topology
 
IoT and the Oil & Gas industry at M2M Oil & Gas 2014 in London
IoT and the Oil & Gas industry at M2M Oil & Gas 2014 in LondonIoT and the Oil & Gas industry at M2M Oil & Gas 2014 in London
IoT and the Oil & Gas industry at M2M Oil & Gas 2014 in London
 
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
Industrial IoT Mayhem? Java IoT Gateways to the RescueIndustrial IoT Mayhem? Java IoT Gateways to the Rescue
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
 
Gab 2015 aymeric weinbach azure iot
Gab   2015 aymeric weinbach azure iot Gab   2015 aymeric weinbach azure iot
Gab 2015 aymeric weinbach azure iot
 
IoT Solutions Made Simple with Everyware IoT
IoT Solutions Made Simple with Everyware IoTIoT Solutions Made Simple with Everyware IoT
IoT Solutions Made Simple with Everyware IoT
 
Wireless personal area networks(PAN)
Wireless personal area networks(PAN)Wireless personal area networks(PAN)
Wireless personal area networks(PAN)
 
ch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computingch5-Fog Networks and Cloud Computing
ch5-Fog Networks and Cloud Computing
 

Recently uploaded

Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Muhammad Tiham Siddiqui
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxKaustubhBhavsar6
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Libraryshyamraj55
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptxHansamali Gamage
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationKnoldus Inc.
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch TuesdayIvanti
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applicationsnooralam814309
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and businessFrancesco Corti
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FESTBillieHyde
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updateadam112203
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfTejal81
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2DianaGray10
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTxtailishbaloch
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosErol GIRAUDY
 

Recently uploaded (20)

Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptx
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Library
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its application
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch Tuesday
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applications
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and business
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FEST
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 update
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenarios
 

From the Internet of Things to Intelligent Systems: A Developer's Primer

  • 1. From the Internet of Things to Intelligent Systems: A Developer's Primer Rick G. Garibay Distinguished Engineer, Neudesic MVP, Microsoft Azure @rickggaribay Level: Intermediate
  • 2. About Me • Distinguished Engineer, Neudesic working on IoT, Intelligent Transportation and Hospitality & Gaming • Microsoft MVP, Microsoft Azure • Co-Author, “Windows Server AppFabric Cookbook” by Packt Pub. • Chairman, Co-Founder Phoenix Connected Systems User Group (PCSUG.org) • twitter: @rickggaribay • blog: http://rickgaribay.net • email: rick.garibay@neudesic.com | b-rigari@microsoft.com
  • 3. What is the Internet of Things?
  • 4. The Internet of Things: By the Numbers B5075212
  • 5. This change is happening more rapidly than anyone imagined.
  • 6. This change could bring tremendous opportunity to your business, industry and you as a technologist.
  • 7. The Internet of Things is the network of physical objects that contain embedded technology to communicate and interact with their internal states or the external environment.
  • 10. OEM Revenue Opportunity | Market Forecast CY17 Auto & Trans Retail Manufacturing Healthcare Energy Computing Telecom Consumer $7 B $16 B $197 B $3 B $27 B $908 B $179 B $356 B System Revenue Intelligent Systems 1.7T$
  • 11. Smart Products Grid Renewables Oil/Gas/Coal Recovery and Distribution Points of Sale Restaurants Hotels Fuel Stations Patients Clinics Hospitals Nursing Homes Mobile Care Safety Security Comfort Lighting Automation Manufacturing Integration and Automation Remote Servicing Predictive and Reactive Maintenance Water Waste Pollution Control Fire Emergency Public Safety Law Enforcement Letters Packages Containers Tanks Bulkware Games Events Sports Television Streaming Traffic Buses Cars Trucks Trains Vessels Aircraft Bikes Smart Energy Smart Retail Smart Mobility Smart Mobility Smart Logistics Smart Logistics Smart Factory Smart Factory Smart Cities Smart Cities Smart Entertain- ment Smart Entertain- ment Smart Health- care Smart Building Home Smart Building Home
  • 12. IoT Device Taxonomy Large Mobile Micro Small POS terminal, ATM, MRI x86, PC-like, apps Industry handheld, POS tablet ARM and x86, shell experience, apps Gateways, wearables, panels, cars ARM and x86, diverse hardware, no shell Controllers, fixed-use, sensors, actuators ARM, constrained hardware, headless
  • 19. Spark
  • 20. Beyond the garage, the true significance of IoT is the foundation it provides for enabling new business capabilities.
  • 22. Data-Driven Insight • Data –> Information –> Insight ($+) –Make more efficient use of resources (reduce cost, environmental impact) Example: Power management in buildings and data centers –Provide more targeted products and services (increase revenue, social impact) Example: Preventive maintenance, optimal usage analytics for expensive machines • “Things” = a rapidly expanding source of raw material for the Insight pipeline
  • 23. Action at a Distance • Data isn’t the only raw material being unlocked by the IoT – The ability to act remotely – automatically and intelligently – Remote control is a source of efficiency – Enables new forms of customer interaction and engagement • IoT extends customer engagement opportunities to physical products • Taking engagement with customers beyond the point of sale – Preventive maintenance – Best practices guidance – Proactive sales – Remote servicing • From CRM to PRM – “Product Relationship Management”
  • 24. From IoT to Intelligent Systems Large Mobile Micro Small M2M/ Device to Cloud
  • 26. Various Application Protocols AMQPAMQP MQTTMQTT CoAPCoAP CustomCustom HTTPHTTP ……
  • 27. MQ Telemetry Tranport (MQTT) • Born out of IBM MQ Series messaging middleware product • Compact binary protocol – min. 7 byte overhead per message sent • No structured message – message bodies are byte arrays • Simple topic name based pub/sub messaging model – Send to topic name, e.g., “/a/b/c/d” or “/a/b/e/f” – Subscribe to topic name, e.g., “/a/b/c/d” or use wildcard, e.g., “/a/b/#” • Reliable – fire-and-forget to reliable, exactly-once delivery • Two innovative, device-oriented features: – Retain – mark a message to be delivered to new subscribers on connection – Last will and testament – register message to be sent on abrupt disconnect • Not general purpose – lacking key features, e.g., flow control • Standardization in progress through OASIS
  • 28. Constrained Application Protocol (CoAp) • Embedded web transfer protocol (coap://) • Asynchronous transaction model • UDP binding with reliability and multicast support • GET, POST, PUT, DELETE methods • URI support • Small, simple 4 byte header • DTLS based PSK, RPK and Certificate security • Subset of MIME types and HTTP response codes • Built-in discovery • Optional observation and block transfer
  • 29. Advanced Message Queuing Protocol 1.0 (AMQP) • Efficient – binary connection-oriented protocol • Reliable – fire-and-forget to reliable, exactly-once delivery • Portable data representation and structured message definition • Flexible – peer-peer, client-broker, and broker-broker topologies • Broker-model independent – no requirements on broker internals • Rich flow control – multiplex multiple data streams over a connection • OASIS Standard (Oct 2012); International Standardization in progress – Somewhat controversial…
  • 30. Message Types Voluntary information flow from device to another system. Requests for information from device to other systems. Instructions from other systems to a device. Information flow from other systems to the device. Telemetry Inquires Commands Notifications
  • 31. Default Connectivity Model • Connectivity (IPv6 + VPN) – Give every device a routable IP address – Devices expose services for control/query operations – Command Source is either on premise or remote, enabled by a bridge of some sort. – Remote access is enabled within the VPN’s routing domain
  • 32. Default Connectivity Model Connections are command source initiated. Connections are command source initiated. Device exposes a service/API Device exposes a service/API Command Source Command Source
  • 33. DEMO 1 Device Commands with the Default IoT Connectivity Model
  • 34. Default Connectivity Model Challenges • Addressability – Requires network-layer intervention – Doesn’t work for devices that are loosely connected (roaming, frequently offline) • Security – By default, every protocol that can be routed over Ethernet can flow – and between any two nodes – SSL/TLS is not an option on many small devices. – VPN controls access to IP addresses and ports, not application endpoints (lack of granular authorization) – Many devices are not VPN-capable due to resource/bandwidth constraints • Efficient scale – VPN infrastructure is expensive and costly to maintain – Does not address device management. Think 1K, 10K, 100K+ devices
  • 35. On-Premise Brokered Device Communications • Connectivity (IPv6 + VPN) – Give every device a routable IP address. – Devices participate in pub-sub messaging on-prem or via VPN using industry standard protocol like MQTT. – Command Source is either on premise or remote, enabled by a bridge of some sort. – Remote access is enabled within the VPN’s routing domain.
  • 36. On-Premise Brokered Device Communications Device subscribes to broker via TCP, etc. Device subscribes to broker via TCP, etc. Device BrokerDevice Broker Typically a socket connection. Typically a socket connection. Messaging happens on premise, attack surface minimized. Messaging happens on premise, attack surface minimized. MQTT, etc. Command Source Command Source Must be on premise or somehow bridged. Must be on premise or somehow bridged.
  • 37. DEMO 2 Brokered Commands with MQTT & RabbitMQ
  • 38. On-Premise Brokered Device Communications Challenges • Addressability – Device and broker are intimately connected. – Doesn’t work for devices that are loosely connected (roaming, frequently offline). • Security – SSL/TLS is not an option on many small devices. – Many devices are not VPN-capable due to resource/bandwidth constraints. • Efficient scale – VPN infrastructure is expensive and costly to maintain. – External commands require some kind of a gateway service. – Does not address device management. Think 1K, 10K, 100K+ devices
  • 39. Service Assisted Communications • Devices connect via open standard protocols – AMQP 1.0 and HTTP supported natively by the Service Bus – MQTT, CoAP and others can be implemented via custom gateway/adapter model – Sockets secured via TLS (or a lightweight variant) • Each device has a dedicated Inbox/Outbox on the Gateway – Device sends telemetry/alerts and routes service invocations via its Outbox – Device receives commands and queries from its Inbox – Correlated request/reply patterns can be implemented on top of these two messaging channels – The device knows, and has access to, only its own specific inbox/outbox endpoints (URI’s) Backend Components Backend Components Cloud GatewayCloud Gateway InboxInbox OutboxOutbox CommandAPICommandAPI ProtocolHeadProtocolHead
  • 40. Service-Assisted Communications Connections are device-initiated and outbound Connections are device-initiated and outbound NAT/Firewall Device (Router) NAT/Firewall Device (Router) IP NAT Cloud Gateway Cloud Gateway Command Source Command Source Port mapping is automatic, outbound Port mapping is automatic, outbound Device does not listen for unsolicited traffic Device does not listen for unsolicited traffic No inbound ports open, attack surface is minimized No inbound ports open, attack surface is minimized Access-controlled command API Secure, managed hosting platform Access-controlled command API Secure, managed hosting platform DNS myapp.cloudapp.net
  • 41. IoT Cloud Platform “Stack” – Abstract Model Non-IP Capable Devices IP Capable Devices CloudGateway Custom Code CloudPlatform Services Enterprise Systems Third-Party Data and Services A B C D E F Field Gateway
  • 42. Azure Hosting Options Non-IP Capable Devices IP Capable Devices CloudGateway Custom Code CloudPlatform Services Enterprise Systems Third-Party Data and Services A B C D E F Web SitesWeb Sites Mobile ServicesMobile Services Cloud ServicesCloud Services External CodeExternal Code VM RolesVM Roles Field Gateway
  • 43. Azure Platform Services Non-IP Capable Devices IP Capable Devices CloudGateway Custom Code CloudPlatform Services Enterprise Systems Third-Party Data and Services A B C D E F HD InsightHD Insight Azure Databases Azure Databases Table/Blob Storage Table/Blob Storage BizTalk ServicesBizTalk Services Service BusService Bus Field Gateway Media ServicesMedia Services
  • 44. Azure – IoT Cloud Gateway Non-IP Capable Devices IP Capable Devices CloudGateway Custom Code CloudPlatform Services Enterprise Systems Third-Party Data and Services Field Gateway A B C D E F ServiceBus A/B ServiceBus A/B Custom GWRole Pattern 1: Device Direct Pattern 2: Custom Gateway
  • 45. Telemetry Routing with the Azure Service Bus  Split the stream  Enable parallel processing  Implement different Q QoS levels  Level and balance the load Topic SubsFilters Service Bus Device 2 Receiver 2b Device 1 Device 3 Receiver 2a Alerts Data Receiver 1 Alert Processor Storage Pre-processor
  • 46. Routing Commands with the Azure Service Bus TopicSubs Filters Service Bus Device 2 Device 1 Device 3 Sender 2 Model A Device 3 Sender 1 Model T Model T Model A  Target individuals or groups  Set delivery timeouts (TTL)  Deal with spotty connectivity  Traverse NATs/firewalls securely
  • 47. DEMO 3 Service-Assisted Device-Direct Commands over Azure Service Bus
  • 48. Service Assisted Custom/Cloud Gateway Challenges • Connectivity – Addressability (non-IP devices, firewalls/NATs, online/offline, roaming) – Heterogeneity (OS/firmware, power/network constraints, protocols) – Security (identity, authorization, privacy, data integrity) – Efficient Scale (millions of devices per tenant, at a reasonable cost) • Messaging – Telemetry (collection, filtering, routing, throughput, per- message QoS) – Notifications (targeting devices/device groups within large populations) – Command/Query and Inquiries (correlation, sessions/batching)
  • 49. Additional Key Considerations • Device Provisioning • Security • Performance • Scale • Redundancy
  • 50. Service Bus MessagingService Bus Messaging Device Gateway Accelerator – Reference Architecture (Reykjavík) 1. Custom Protocol Gateway 2. Telemetry Pump and Adapters 3. Command Gateway 4. Provisioning Service and Metadata Store Custom Protocol Gateway HostCustom Protocol Gateway Host MQTTMQTT CoAPCoAP …… Telemetry/Request Router Telemetry/Request Router Notification/Command Router Notification/Command Router AdaptersAdapters Command API HostCommand API Host Provisioning Service Device Metadata and Key Store HDInsightHDInsight BizTalkBizTalk OrleansOrleans AzureStorageAzureStorage AzureDbsAzureDbs ServiceBusServiceBus HTTP HTTP DevicesDevices AMQP 11 22 33 44 ConfigurationConfiguration HTTP YourProcessYourProcess
  • 51. Device Gateway – Partition Topology • The “Partition” is a set of resources dedicated to a specific device population (or subset thereof). • The “Master” role manages partition deployment and device provisioning into the partitions. PartitionMaster Partition Repo Partition Repo Command TopicsCommand Topics Service Bus Standard ProtocolService Bus Standard Protocol Custom ProtocolCustom Protocol Device RepoDevice Repo in0000in0000 inFFFFinFFFF…in0001in0001 in0002in0002 AMQPAMQP HTTPHTTP MQTTMQTT Custom Protocol HostCustom Protocol Host Protocol AdaptersProtocol Adapters diagdiagallall diagdiagallall diagdiagallall diagdiagallall Telemetry Pump/RouterTelemetry Pump/Router N Instances Telemetry Adapter Telemetry Adapter Telemetry Adapter Telemetry Adapter Telemetry Adapter Telemetry Adapter Deployment Runtime Deployment Runtime out0000out0000 outFFFFoutFFFF…out0001out0001 out0002out0002 s0001s0001 s0002s0002 s03E7s03E7 s0001s0001 s0002s0002 s03E7s03E7 s0001s0001 s0002s0002 s03E7s03E7 s0001s0001 s0002s0002 s03E7s03E7 g0000/ rte0000 g0000/ rte0000 g0000/ rte0001 g0000/ rte0001 out0out0 out1out1 out2out2 n Groups of m Routers out0out0 out1out1 out2out2 g0001/ rte0000 g0001/ rte0000 g0001/ rte0001 g0001/ rte0001 out0out0 out1out1 out2out2 out0out0 out1out1 out2out2 Provisioning Runtime Provisioning Runtime Ingestion Topics (Telemetry)Ingestion Topics (Telemetry) Command API Host Command API Host
  • 52. Device Gateway – Customer Topology • Global coverage achieved by spreading partitions across multiple Azure regions • Reference architecture supports up to 1000 distinct partitions • Number and distribution of partitions driven by data volumes, business continuity, legal and proximity considerations
  • 53. DEMO 4 Provisioning and Exercising Reykjavik
  • 54. Device Device Event Hub Azure Event Processing Azure Storage Azure Customer Apps HDInsight BI Systems 3rd Party Solutions Data Flow SQL Azure Event Hub Basic Device Registry Command & Control Microsoft Azure Stack for IoT
  • 55. Device (Non-ISS) Device (Non-ISS) Event Hub Azure Storage Rich Device Registry & Object Model of “Things”Rich Device Registry & Object Model of “Things” Azure ISS Customer Apps HDInsights BI Systems 3rd Party Solutions Data Flow ISS Solution built on Azure SQL Azure Event Hub Basic Device Registry ISSSecurity, Privacy& SharingControls IoT Rule Templates IoT Rule Templates Natural Language Query Natural Language Query ISS Agents ISS Agents ISS Agents ISS Solution SingleAccount,PerdeviceBilling, etc. SingleAccount,PerdeviceBilling, etc. Command & Control Azure Event Processing ISS Portal ISS Portal
  • 56. More on ISS • //build 2014: Windows and the Internet of Things: http://bit.ly/1ijTeyW • Internetofyourthings.com
  • 57. More on Reykjavik/Device Gateway • //build 2014: Internet of Things with Azure Service Bus: http://bit.ly/1m4MMME • Neudesic is currently offering industry-specific briefings on IoT. • The Azure M2M team is very interested in working with early adopters. • If you or your organization think you’re a candidate for Device Gateway and are interested in learning more connect with us: http://neudesic.com/iot Invitation code: VSLChicago
  • 58. References • Internet of Things with Azure Service Bus: http://bit.ly/1m4MMME • Windows and the Internet of Things: http://bit.ly/1ijTeyW • Subscribe!: http://channel9.msdn.com/Blogs/Subscribe • Service Assisted Communications: http://vasters.com/clemensv/CategoryView,category,Ar chitecture.aspx • Internet of Things & Azure Service Bus: http://bit.ly/1jFf5k5 and http://bit.ly/1jFf5k5 • M2MQTT Library for .NET MF: http://m2mqtt.codeplex.com/ • Special thanks to Clemens Vaster, Markus Horseman and Todd Holmquist-Sutherland on the Microsoft Azure M2M team.
  • 59. About Me • Distinguished Engineer, Neudesic working on IoT, Intelligent Transportation and Hospitality & Gaming • Microsoft MVP, Microsoft Azure • Co-Author, “Windows Server AppFabric Cookbook” by Packt Pub. • Chairman, Co-Founder Phoenix Connected Systems User Group (PCSUG.org) • twitter: @rickggaribay • blog: http://rickgaribay.net • email: rick.garibay@neudesic.com | b-rigari@microsoft.com