SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
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!

Contenu connexe

Tendances

Tendances (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
 

En vedette

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
WithTheBest
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
Vala Afshar
 

En vedette (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
 

Similaire à 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 World
Todd Montgomery
 
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
Aniruddha Chakrabarti
 
Network Flow Analysis
Network Flow AnalysisNetwork Flow Analysis
Network Flow Analysis
guest23ccda3
 
Network Flow Analysis
Network Flow AnalysisNetwork Flow Analysis
Network Flow Analysis
guest23ccda3
 

Similaire à 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
 

Dernier

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Dernier (20)

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
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 🔝✔️✔️
 

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!