SlideShare a Scribd company logo
1 of 51
Download to read offline
IoT Connectivity, 
Standards & Architecture 
Todd L. Montgomery 
@toddlmontgomery 
IOTAConf! 
October 20-21, 2014!
Communication Patterns 
Lead to… 
Protocols (Standards?) 
Lead to… 
Architecture 
“Fear is the path to the dark side. Fear leads to anger. 
Anger leads to hate. Hate leads to suffering.” 
— Yoda
Communication Patterns
Request 
Response 
What most of us think happens
Request 
Response 
And that is… what really happens… but…
But… Who does this? 
Request 
Response 
What also really happens
Request 
Response 
@toddlmontgomery 
Support 
(UI/Device) 
Security 
(Challenge) 
Keep-Alive 
or Watchdog 
User State 
Query
News, Stocks, Texts/SMS, 
Video, Audio, Social, … 
Stream 
What also really happens
Temperature, Heart Rate, Web Logs, Sensor 
Data, Seismic Readings, Steps, Stairs, Gyro 
Data, GPS, Acceleration, Breathing, EKG, EEG, 
… 
Ingest 
What also really happens
Pretty much how everything 
actually works… 
Request 
Stream & Ingest 
Response 
What also really happens
What also REALLY happens
Request, Response, Stream, 
and Ingest are really types 
Message 
Message 
The Break Down 
Message-Driven 
Message-Driven
Message Driven 
Reactive Applications 
Elastic 
Responsive Resilient 
http://www.reactivemanifesto.org/
Meanwhile… IoT…
HTCPCP 
RFC 2324, Extended by RFC 7168 
"there is a strong, dark, rich requirement for a protocol designed 
espressoly [sic] for the brewing of coffee" 
http://en.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_Protocol 
@toddlmontgomery
@toddlmontgomery
BREW 
418 I’m a teapot 
WHEN 
"This has a serious purpose – it identifies 
many of the ways in which HTTP has 
been extended inappropriately.” 
— Larry Masinter, author 
http://larry.masinter.net/ 
@toddlmontgomery
courtesy of
Sometimes it is good to 
reinvent the wheel
What History Has Taught Us 
@toddlmontgomery
THE IoT Language!
THE IoT Protocol!
THE IoT Runtime!
THE IoT ______!
Internet of Things 
Multi-Lingual 
(and Polyglot) 
Multi-Protocol & 
Multi-Standard 
Multi-“Platform” Massive Scale 
Highly Integrated 
What is already is…
Connected. Integrated. 
Great time to be a protocol geek!
pro·to·col noun ˈprō-tə-ˌkȯl, -ˌkōl, -ˌkäl, -kəl 
@toddlmontgomery 
! 
... 
! 
3 b : a set of conventions governing the treatment and especially the 
formatting of data in an electronic communications 
system <network protocols> 
... 
3 a : a code prescribing strict adherence to correct etiquette 
and precedence (as in diplomatic exchange and in the military 
services) <a breach of protocol> 
!
Protocols are the key to Integration 
REST has demonstrated this! 
@toddlmontgomery
Protocols & Standards 
@toddlmontgomery
Binary Encoding helps save CPU & Bandwidth! 
Persistent connections help a LOT! (fewer frames) 
Well designed protocols help a LOT MORE! 
Battery Life 
Many simultaneous connections hurt! 
Using the wrong protocol with the wrong pattern hurts A LOT! 
@toddlmontgomery 
Stay out of High 
Energy State! 
One reason why we should care about Protocols… 
ASCII Encoding hurts CPU & Bandwidth!
HTTP 
RFC 2068, 2616, …, 7230-7240 
Request 
Response 
Synchronous 
Request/Response 
@toddlmontgomery 
Bi-Directional… kinda, 
but… 
Event 
Event 
June 2014 
… only 
one direction 
at-a-time
http://en.wikipedia.org/wiki/List_of_web_service_specifications 
Request 
ACK 
Response 
ACK 
@toddlmontgomery 
Sync 
Request 
Sync 
Response 
Web Services 
… 
Event 
Event 
But… Async Request/Response… kinda 
No, seriously, 
lots of these!!
HTTP Upgrade 
101 Switch 
Events Events 
@toddlmontgomery 
Async 
Request/ 
Response 
Really a 
Transport 
Protocol 
Streaming 
WebSocket 
RFC 6455 
Full Duplex, Asynchronous 
“TCP over the Web” 
Ingest 
https://tools.ietf.org/html/rfc6455
Events Events 
@toddlmontgomery 
Async 
Request 
Async 
Response 
SPDY & HTTP/2 
IETF Drafts 
Async Request/Response 
Multiple Streams 
Efficient Headers (HPACK) 
Binary Encoding 
http://www.ietf.org/id/draft-ietf-httpbis-http2-14.txt
There is emerging implementation experience and interest in a protocol that 
retains the semantics of HTTP without the legacy of HTTP/1.x message 
framing and syntax, which have been identified as hampering performance and 
encouraging misuse of the underlying transport. 
— IETF httpbis Charter 
http://datatracker.ietf.org/wg/httpbis/charter/
Events Events 
@toddlmontgomery 
Async 
Request 
Async 
Response 
WebSocket over HTTP/2 
IETF Draft 
Streaming Ingest 
Full Duplex, Asynchronous 
with Multiple Channels/Streams 
http://www.ietf.org/id/draft-hirano-httpbis-websocket-over-http2-01.txt
Runs over TCP 
or WebSocket (v3.1.1) 
Broker-Based 
MQ Telemetry Transport (MQTT) 
@toddlmontgomery 
http://mqtt.org/ 
Lightweight 
Publish/Subscribe 
Messaging Transport 
MQTT-SN for non-TCP/IP 
OASIS Standard
Constrained Application Protocol 
(CoAP) 
IETF CoRE WG (Constrained RESTful Environments) 
@toddlmontgomery 
https://tools.ietf.org/html/rfc7252 
Runs over UDP, DTLS, 
or WebSocket 
Request/Response 
(either direction), 
Publish/Subscribe 
Standardized HTTP 
Mapping 
Resource Discovery, 
Linking, etc. 
RFC 7252
Extensible Messaging & 
Presence Protocol (XMPP) 
@toddlmontgomery 
https://tools.ietf.org/html/rfc6120 
Brokered 
TCP + TLS + SASL 
Presence & Persistent 
Streams 
XMPP Standards 
Foundation 
(Semi) Structured 
XML 
IETF RFC 6120 (obsoletes 3920)
XMPP 
HTTP/1.1 
Protocols? 
Shared Memory IPC 
CoAP AMQP 
WebSocket 
JMS 
WebRTC 
Not just in the traditional sense… 
MQTT 
HTTP/2 
TCP/UDP/IP 
Aeron 0MQ 
DDS
Architectures 
@toddlmontgomery
Micro-Services Architectures 
http://martinfowler.com/articles/microservices.html 
@toddlmontgomery
Rx 
Languages 
Erlang 
& Elixir 
Go 
And Frameworks 
RxJS 
RxJava 
Akka 
Streams 
Akka Rust
@toddlmontgomery 
Client? Device? 
Browser? 
Back-End? DMZ? 
Protocols Protocols Protocols
Micro Architecture 
@toddlmontgomery
Protocols 
Deployment Container 
Nuklei 
Logic 
Reactive 
Message Stream 
Depends on language, 
runtime, platform, etc. 
Asynchronous 
Binary 
“Loose” Ordering 
Client? Server? Browser? Device? ALL!
Choice of protocols becomes 
deployment concern 
Protocols 
Deployment Container 
Nuklei 
Logic 
Reactive 
Message Stream 
Consistent 
ABI 
Various 
Protocol 
Options 
Asynchronous Binary Boundary
Message 
Message 
To Sum Up 
Message-Driven 
Message-Driven
@toddlmontgomery 
Questions? 
• Kaazing http://www.kaazing.com 
• GitHub https://github.com/kaazing 
• Reactive Manifesto http://www.reactivemanifesto.com 
• SlideShare http://www.slideshare.com/toddleemontgomery 
• Twitter @toddlmontgomery 
Thank You!

More Related Content

What's hot

Internet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceInternet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceIndicThreads
 
Fog computing security and privacy issues, open challenges, and blockchain so...
Fog computing security and privacy issues, open challenges, and blockchain so...Fog computing security and privacy issues, open challenges, and blockchain so...
Fog computing security and privacy issues, open challenges, and blockchain so...IJECEIAES
 
PhD Projects in IoT Network Simulator Research Guidance
PhD Projects in IoT Network Simulator Research GuidancePhD Projects in IoT Network Simulator Research Guidance
PhD Projects in IoT Network Simulator Research GuidancePhD Services
 
Simple things about Internet of Things
Simple things about Internet of ThingsSimple things about Internet of Things
Simple things about Internet of ThingsMuhammad Nasr
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applicationsPasquale Puzio
 
Microsoft's view of the Internet of Things (IoT) by Imran Shafqat
Microsoft's view of the Internet of Things (IoT) by Imran ShafqatMicrosoft's view of the Internet of Things (IoT) by Imran Shafqat
Microsoft's view of the Internet of Things (IoT) by Imran ShafqatAllied Consultants
 
MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014MachinePulse
 
IoT Basics, current trends, the future
IoT Basics, current trends, the futureIoT Basics, current trends, the future
IoT Basics, current trends, the futureCharalampos Doukas
 
Iot architecture report
Iot architecture reportIot architecture report
Iot architecture reportNiranjan Kumar
 
Artificial Intelligence in Computer Networks
Artificial Intelligence in Computer NetworksArtificial Intelligence in Computer Networks
Artificial Intelligence in Computer NetworksAbdullah Khosa
 
Introduction to IoT Architectures and Protocols
Introduction to IoT Architectures and ProtocolsIntroduction to IoT Architectures and Protocols
Introduction to IoT Architectures and ProtocolsAbdullah Alfadhly
 
Keynote Session : Internet Of Things (IOT) Security Taskforce
Keynote Session : Internet Of Things (IOT) Security TaskforceKeynote Session : Internet Of Things (IOT) Security Taskforce
Keynote Session : Internet Of Things (IOT) Security TaskforcePriyanka Aash
 
Embedded system & IoT Course | certification Program | Learn and Build
Embedded system & IoT Course | certification Program | Learn and BuildEmbedded system & IoT Course | certification Program | Learn and Build
Embedded system & IoT Course | certification Program | Learn and BuildLearn and Build
 
Demystifying Internet of Things
Demystifying Internet of ThingsDemystifying Internet of Things
Demystifying Internet of ThingsQian JIN
 

What's hot (20)

Internet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceInternet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads Conference
 
IoT meets Big Data
IoT meets Big DataIoT meets Big Data
IoT meets Big Data
 
IoT - Understanding internet of things
IoT - Understanding internet of thingsIoT - Understanding internet of things
IoT - Understanding internet of things
 
Fog computing security and privacy issues, open challenges, and blockchain so...
Fog computing security and privacy issues, open challenges, and blockchain so...Fog computing security and privacy issues, open challenges, and blockchain so...
Fog computing security and privacy issues, open challenges, and blockchain so...
 
PhD Projects in IoT Network Simulator Research Guidance
PhD Projects in IoT Network Simulator Research GuidancePhD Projects in IoT Network Simulator Research Guidance
PhD Projects in IoT Network Simulator Research Guidance
 
Nazmul haq abir
Nazmul haq abirNazmul haq abir
Nazmul haq abir
 
Simple things about Internet of Things
Simple things about Internet of ThingsSimple things about Internet of Things
Simple things about Internet of Things
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applications
 
Microsoft's view of the Internet of Things (IoT) by Imran Shafqat
Microsoft's view of the Internet of Things (IoT) by Imran ShafqatMicrosoft's view of the Internet of Things (IoT) by Imran Shafqat
Microsoft's view of the Internet of Things (IoT) by Imran Shafqat
 
MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014
 
IoT Basics, current trends, the future
IoT Basics, current trends, the futureIoT Basics, current trends, the future
IoT Basics, current trends, the future
 
Iot
IotIot
Iot
 
Iot architecture report
Iot architecture reportIot architecture report
Iot architecture report
 
Artificial Intelligence in Computer Networks
Artificial Intelligence in Computer NetworksArtificial Intelligence in Computer Networks
Artificial Intelligence in Computer Networks
 
SnW: Internet of Things and enabling technologies
SnW: Internet of Things and enabling technologiesSnW: Internet of Things and enabling technologies
SnW: Internet of Things and enabling technologies
 
Introduction to IoT Architectures and Protocols
Introduction to IoT Architectures and ProtocolsIntroduction to IoT Architectures and Protocols
Introduction to IoT Architectures and Protocols
 
Keynote Session : Internet Of Things (IOT) Security Taskforce
Keynote Session : Internet Of Things (IOT) Security TaskforceKeynote Session : Internet Of Things (IOT) Security Taskforce
Keynote Session : Internet Of Things (IOT) Security Taskforce
 
IoT Security
IoT SecurityIoT Security
IoT Security
 
Embedded system & IoT Course | certification Program | Learn and Build
Embedded system & IoT Course | certification Program | Learn and BuildEmbedded system & IoT Course | certification Program | Learn and Build
Embedded system & IoT Course | certification Program | Learn and Build
 
Demystifying Internet of Things
Demystifying Internet of ThingsDemystifying Internet of Things
Demystifying Internet of Things
 

Viewers also liked

IoT connectivity and solutions
IoT connectivity and solutionsIoT connectivity and solutions
IoT connectivity and solutionsMàrius Montón
 
How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101Christian Götz
 
Connectivity for Smart Home IoT - Brad Kayton
Connectivity for Smart Home IoT - Brad KaytonConnectivity for Smart Home IoT - Brad Kayton
Connectivity for Smart Home IoT - Brad KaytonWithTheBest
 
Smart home Environment using iot
Smart home Environment using iotSmart home Environment using iot
Smart home Environment using iotparvathy s m
 
Elements of IoT connectivity technologies
Elements of IoT connectivity technologiesElements of IoT connectivity technologies
Elements of IoT connectivity technologiesusman sarwar
 
iot based home automation
iot based home automationiot based home automation
iot based home automationparvathy s m
 
Karsten Held: Internet Of Things (IOT), SmartBuilding & SmartHome Research (J...
Karsten Held: Internet Of Things (IOT), SmartBuilding & SmartHome Research (J...Karsten Held: Internet Of Things (IOT), SmartBuilding & SmartHome Research (J...
Karsten Held: Internet Of Things (IOT), SmartBuilding & SmartHome Research (J...Karsten Held
 
Internet of Things (#IoT) New Paradigm for Business
Internet of Things (#IoT) New Paradigm for BusinessInternet of Things (#IoT) New Paradigm for Business
Internet of Things (#IoT) New Paradigm for BusinessMighty Things
 
An Introduction to IoT: Connectivity & Case Studies
An Introduction to IoT: Connectivity & Case StudiesAn Introduction to IoT: Connectivity & Case Studies
An Introduction to IoT: Connectivity & Case Studies3G4G
 
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gInternet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gMohan Kumar G
 
Internet of Things
Internet of ThingsInternet of Things
Internet of ThingsVala Afshar
 

Viewers also liked (11)

IoT connectivity and solutions
IoT connectivity and solutionsIoT connectivity and solutions
IoT connectivity and solutions
 
How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101
 
Connectivity for Smart Home IoT - Brad Kayton
Connectivity for Smart Home IoT - Brad KaytonConnectivity for Smart Home IoT - Brad Kayton
Connectivity for Smart Home IoT - Brad Kayton
 
Smart home Environment using iot
Smart home Environment using iotSmart home Environment using iot
Smart home Environment using iot
 
Elements of IoT connectivity technologies
Elements of IoT connectivity technologiesElements of IoT connectivity technologies
Elements of IoT connectivity technologies
 
iot based home automation
iot based home automationiot based home automation
iot based home automation
 
Karsten Held: Internet Of Things (IOT), SmartBuilding & SmartHome Research (J...
Karsten Held: Internet Of Things (IOT), SmartBuilding & SmartHome Research (J...Karsten Held: Internet Of Things (IOT), SmartBuilding & SmartHome Research (J...
Karsten Held: Internet Of Things (IOT), SmartBuilding & SmartHome Research (J...
 
Internet of Things (#IoT) New Paradigm for Business
Internet of Things (#IoT) New Paradigm for BusinessInternet of Things (#IoT) New Paradigm for Business
Internet of Things (#IoT) New Paradigm for Business
 
An Introduction to IoT: Connectivity & Case Studies
An Introduction to IoT: Connectivity & Case StudiesAn Introduction to IoT: Connectivity & Case Studies
An Introduction to IoT: Connectivity & Case Studies
 
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-gInternet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
Internet-of-things- (IOT) - a-seminar - ppt - by- mohan-kumar-g
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 

Similar to IoTaConf 2014 - IoT Connectivity, Standards, and Architecture

QCon NY 2014 - Evolving REST for an IoT World
QCon NY 2014 - Evolving REST for an IoT WorldQCon NY 2014 - Evolving REST for an IoT World
QCon NY 2014 - Evolving REST for an IoT WorldTodd Montgomery
 
Reactive Programming Models for IoT
Reactive Programming Models for IoTReactive Programming Models for IoT
Reactive Programming Models for IoTTodd Montgomery
 
API Design and WebSocket
API Design and WebSocketAPI Design and WebSocket
API Design and WebSocketFrank Greco
 
The Web of Things
The Web of ThingsThe Web of Things
The Web of ThingsFrank Greco
 
Splunk Stream - Einblicke in Netzwerk Traffic
Splunk Stream - Einblicke in Netzwerk TrafficSplunk Stream - Einblicke in Netzwerk Traffic
Splunk Stream - Einblicke in Netzwerk TrafficSplunk
 
UTOPOLL白皮書.pdf
UTOPOLL白皮書.pdfUTOPOLL白皮書.pdf
UTOPOLL白皮書.pdfaipaypoll
 
WebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonWebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonAlan Quayle
 
FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?SeanDuBois3
 
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...confluent
 
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...confluent
 
Intro to Web3 and Polygon.pdf
Intro to Web3 and Polygon.pdfIntro to Web3 and Polygon.pdf
Intro to Web3 and Polygon.pdfTinaBregovi
 
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoTMphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoTAniruddha Chakrabarti
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...Dean Bubley
 
Go real-time with the InternetOfThings
Go real-time with the InternetOfThingsGo real-time with the InternetOfThings
Go real-time with the InternetOfThingsUffe Björklund
 
Ethereum Devcon1 Report (summary writing)
Ethereum Devcon1 Report (summary writing)Ethereum Devcon1 Report (summary writing)
Ethereum Devcon1 Report (summary writing)Tomoaki Sato
 
Network Flow Analysis
Network Flow AnalysisNetwork Flow Analysis
Network Flow Analysisguest23ccda3
 
Network Flow Analysis
Network Flow AnalysisNetwork Flow Analysis
Network Flow Analysisguest23ccda3
 

Similar to IoTaConf 2014 - IoT Connectivity, Standards, and Architecture (20)

QCon NY 2014 - Evolving REST for an IoT World
QCon NY 2014 - Evolving REST for an IoT WorldQCon NY 2014 - Evolving REST for an IoT World
QCon NY 2014 - Evolving REST for an IoT World
 
Reactive Programming Models for IoT
Reactive Programming Models for IoTReactive Programming Models for IoT
Reactive Programming Models for IoT
 
API Design and WebSocket
API Design and WebSocketAPI Design and WebSocket
API Design and WebSocket
 
The Web of Things
The Web of ThingsThe Web of Things
The Web of Things
 
Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
Utopoll Whitepaper.pdf
Utopoll Whitepaper.pdfUtopoll Whitepaper.pdf
Utopoll Whitepaper.pdf
 
Splunk Stream - Einblicke in Netzwerk Traffic
Splunk Stream - Einblicke in Netzwerk TrafficSplunk Stream - Einblicke in Netzwerk Traffic
Splunk Stream - Einblicke in Netzwerk Traffic
 
UTOPOLL白皮書.pdf
UTOPOLL白皮書.pdfUTOPOLL白皮書.pdf
UTOPOLL白皮書.pdf
 
WebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonWebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
 
FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?FOSDEM 2020: How can we make WebRTC Easier?
FOSDEM 2020: How can we make WebRTC Easier?
 
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...
 
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...
 
CS1308 - 02/08/10
CS1308 - 02/08/10CS1308 - 02/08/10
CS1308 - 02/08/10
 
Intro to Web3 and Polygon.pdf
Intro to Web3 and Polygon.pdfIntro to Web3 and Polygon.pdf
Intro to Web3 and Polygon.pdf
 
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoTMphasis Digital POV - Emerging Open Standard Protocol stack for IoT
Mphasis Digital POV - Emerging Open Standard Protocol stack for IoT
 
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
WebRTC Tutorial by Dean Bubley of Disruptive Analysis & Tim Panton of Westhaw...
 
Go real-time with the InternetOfThings
Go real-time with the InternetOfThingsGo real-time with the InternetOfThings
Go real-time with the InternetOfThings
 
Ethereum Devcon1 Report (summary writing)
Ethereum Devcon1 Report (summary writing)Ethereum Devcon1 Report (summary writing)
Ethereum Devcon1 Report (summary writing)
 
Network Flow Analysis
Network Flow AnalysisNetwork Flow Analysis
Network Flow Analysis
 
Network Flow Analysis
Network Flow AnalysisNetwork Flow Analysis
Network Flow Analysis
 

Recently uploaded

Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 

Recently uploaded (20)

Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 

IoTaConf 2014 - IoT Connectivity, Standards, and Architecture

  • 1. IoT Connectivity, Standards & Architecture Todd L. Montgomery @toddlmontgomery IOTAConf! October 20-21, 2014!
  • 2. Communication Patterns Lead to… Protocols (Standards?) Lead to… Architecture “Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.” — Yoda
  • 4. Request Response What most of us think happens
  • 5. Request Response And that is… what really happens… but…
  • 6. But… Who does this? Request Response What also really happens
  • 7. Request Response @toddlmontgomery Support (UI/Device) Security (Challenge) Keep-Alive or Watchdog User State Query
  • 8. News, Stocks, Texts/SMS, Video, Audio, Social, … Stream What also really happens
  • 9. Temperature, Heart Rate, Web Logs, Sensor Data, Seismic Readings, Steps, Stairs, Gyro Data, GPS, Acceleration, Breathing, EKG, EEG, … Ingest What also really happens
  • 10. Pretty much how everything actually works… Request Stream & Ingest Response What also really happens
  • 11. What also REALLY happens
  • 12. Request, Response, Stream, and Ingest are really types Message Message The Break Down Message-Driven Message-Driven
  • 13. Message Driven Reactive Applications Elastic Responsive Resilient http://www.reactivemanifesto.org/
  • 15.
  • 16. HTCPCP RFC 2324, Extended by RFC 7168 "there is a strong, dark, rich requirement for a protocol designed espressoly [sic] for the brewing of coffee" http://en.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_Protocol @toddlmontgomery
  • 18. BREW 418 I’m a teapot WHEN "This has a serious purpose – it identifies many of the ways in which HTTP has been extended inappropriately.” — Larry Masinter, author http://larry.masinter.net/ @toddlmontgomery
  • 19.
  • 21. Sometimes it is good to reinvent the wheel
  • 22. What History Has Taught Us @toddlmontgomery
  • 27. Internet of Things Multi-Lingual (and Polyglot) Multi-Protocol & Multi-Standard Multi-“Platform” Massive Scale Highly Integrated What is already is…
  • 28. Connected. Integrated. Great time to be a protocol geek!
  • 29. pro·to·col noun ˈprō-tə-ˌkȯl, -ˌkōl, -ˌkäl, -kəl @toddlmontgomery ! ... ! 3 b : a set of conventions governing the treatment and especially the formatting of data in an electronic communications system <network protocols> ... 3 a : a code prescribing strict adherence to correct etiquette and precedence (as in diplomatic exchange and in the military services) <a breach of protocol> !
  • 30. Protocols are the key to Integration REST has demonstrated this! @toddlmontgomery
  • 31. Protocols & Standards @toddlmontgomery
  • 32. Binary Encoding helps save CPU & Bandwidth! Persistent connections help a LOT! (fewer frames) Well designed protocols help a LOT MORE! Battery Life Many simultaneous connections hurt! Using the wrong protocol with the wrong pattern hurts A LOT! @toddlmontgomery Stay out of High Energy State! One reason why we should care about Protocols… ASCII Encoding hurts CPU & Bandwidth!
  • 33. HTTP RFC 2068, 2616, …, 7230-7240 Request Response Synchronous Request/Response @toddlmontgomery Bi-Directional… kinda, but… Event Event June 2014 … only one direction at-a-time
  • 34. http://en.wikipedia.org/wiki/List_of_web_service_specifications Request ACK Response ACK @toddlmontgomery Sync Request Sync Response Web Services … Event Event But… Async Request/Response… kinda No, seriously, lots of these!!
  • 35. HTTP Upgrade 101 Switch Events Events @toddlmontgomery Async Request/ Response Really a Transport Protocol Streaming WebSocket RFC 6455 Full Duplex, Asynchronous “TCP over the Web” Ingest https://tools.ietf.org/html/rfc6455
  • 36. Events Events @toddlmontgomery Async Request Async Response SPDY & HTTP/2 IETF Drafts Async Request/Response Multiple Streams Efficient Headers (HPACK) Binary Encoding http://www.ietf.org/id/draft-ietf-httpbis-http2-14.txt
  • 37. There is emerging implementation experience and interest in a protocol that retains the semantics of HTTP without the legacy of HTTP/1.x message framing and syntax, which have been identified as hampering performance and encouraging misuse of the underlying transport. — IETF httpbis Charter http://datatracker.ietf.org/wg/httpbis/charter/
  • 38. Events Events @toddlmontgomery Async Request Async Response WebSocket over HTTP/2 IETF Draft Streaming Ingest Full Duplex, Asynchronous with Multiple Channels/Streams http://www.ietf.org/id/draft-hirano-httpbis-websocket-over-http2-01.txt
  • 39. Runs over TCP or WebSocket (v3.1.1) Broker-Based MQ Telemetry Transport (MQTT) @toddlmontgomery http://mqtt.org/ Lightweight Publish/Subscribe Messaging Transport MQTT-SN for non-TCP/IP OASIS Standard
  • 40. Constrained Application Protocol (CoAP) IETF CoRE WG (Constrained RESTful Environments) @toddlmontgomery https://tools.ietf.org/html/rfc7252 Runs over UDP, DTLS, or WebSocket Request/Response (either direction), Publish/Subscribe Standardized HTTP Mapping Resource Discovery, Linking, etc. RFC 7252
  • 41. Extensible Messaging & Presence Protocol (XMPP) @toddlmontgomery https://tools.ietf.org/html/rfc6120 Brokered TCP + TLS + SASL Presence & Persistent Streams XMPP Standards Foundation (Semi) Structured XML IETF RFC 6120 (obsoletes 3920)
  • 42. XMPP HTTP/1.1 Protocols? Shared Memory IPC CoAP AMQP WebSocket JMS WebRTC Not just in the traditional sense… MQTT HTTP/2 TCP/UDP/IP Aeron 0MQ DDS
  • 45. Rx Languages Erlang & Elixir Go And Frameworks RxJS RxJava Akka Streams Akka Rust
  • 46. @toddlmontgomery Client? Device? Browser? Back-End? DMZ? Protocols Protocols Protocols
  • 48. Protocols Deployment Container Nuklei Logic Reactive Message Stream Depends on language, runtime, platform, etc. Asynchronous Binary “Loose” Ordering Client? Server? Browser? Device? ALL!
  • 49. Choice of protocols becomes deployment concern Protocols Deployment Container Nuklei Logic Reactive Message Stream Consistent ABI Various Protocol Options Asynchronous Binary Boundary
  • 50. Message Message To Sum Up Message-Driven Message-Driven
  • 51. @toddlmontgomery Questions? • Kaazing http://www.kaazing.com • GitHub https://github.com/kaazing • Reactive Manifesto http://www.reactivemanifesto.com • SlideShare http://www.slideshare.com/toddleemontgomery • Twitter @toddlmontgomery Thank You!