Date post: | 14-Apr-2018 |
Category: |
Documents |
Upload: | phungquynh |
View: | 216 times |
Download: | 3 times |
Data Value Chain
SensorsSensors
SensorsSensorsHubsHubs
Data Collectors
AppsApps
AppsApps
Sensors
SensorsSensors
SensorsSensors
SensorsSensors
HubsHubs
Data CollectorsData CollectorsAppsApps
AppsApps
Technical questions thatrequire standards…. How to I call functions across devices? How do I describe an API/functions? How do I discover an API/Service? How do I identify and object/device/thing? How do I authenticate a user? How do I authenticate a device? How do connect locally (no internet)? How do I manage permissions? Where does data come from? Is there anything different about IOT?
How to I call functions across devices? How do I describe an API/functions? How do I discover an API/Service? How do I identify and object/device/thing? How do I authenticate a user? How do I authenticate a device? How do connect locally (no internet)? How do I manage permissions? Where does data come from? Is there anything different about IOT?
IOT ChallengesVolume (cost) of data being transmitted (especially in M2M with limited dataplans)
Power consumption (battery powered devices)
Responsiveness (near-real time delivery of information)
Reliable delivery over fragile connections
Security and privacy
Scalability
Small footprint
A ComparisonProtocol CoAP XMPP RESTful HTTP MQTTTransport UDP TCP TCP TCP
Messaging Request/ResponsePublish/SubscribeRequest/Response
Request/ResponsePublish/SubscribeRequest/Response
2G, 3G, 4GSuitability (1000snodes)
Excellent Excellent Excellent Excellent
LLN Suitability(1000s nodes)LLN Suitability(1000s nodes) Excellent Fair Fair Fair
Compute Resources10Ks RAM/Flash 10Ks RAM/Flash 10Ks RAM/Flash 10Ks RAM/Flash
Success StoriedUtility Field AreaNetworks
Remotemanagement ofconsumer whitegoods
Smart Energy Profile2 (premise energymanagement/homeservices)
Extending enterprisemessaging into IoTapplications
http://blogs.cisco.com/ioe/beyond-mqtt-a-cisco-view-on-iot-protocols/
https://docs.google.com/document/d/1_kTNkl84o_yoC56dzFfkYHoHuepINP3nDNokycXINXI/edit?pli=1
MQTT
OASIS standard TCP bearer Min 2 byte packet size Message oriented, client server subscription Security: TLS password based sensors/COMPUTER_NAME/temperature/HA
RDDRIVE_NAME
OASIS standard TCP bearer Min 2 byte packet size Message oriented, client server subscription Security: TLS password based sensors/COMPUTER_NAME/temperature/HA
RDDRIVE_NAME
MQTT-SN Even though MQTT is designed to be lightweight, it has
two drawbacks for very constrained devices. Every MQTT client must support TCP and will typically
hold a connection open to the broker at all times. Forsome environments where packet loss is high orcomputing resources are scarce, this is a problem.
MQTT topic names are often long strings which makethem impractical for 802.15.4.
Both of these shortcomings are addressed by the MQTT-SN protocol, which defines a UDP mapping of MQTT andadds broker support for indexing topic name
Even though MQTT is designed to be lightweight, it hastwo drawbacks for very constrained devices.
Every MQTT client must support TCP and will typicallyhold a connection open to the broker at all times. Forsome environments where packet loss is high orcomputing resources are scarce, this is a problem.
MQTT topic names are often long strings which makethem impractical for 802.15.4.
Both of these shortcomings are addressed by the MQTT-SN protocol, which defines a UDP mapping of MQTT andadds broker support for indexing topic name
CoAP
IETF standard Based on HTTP UDP Bearer QoS – App level Content negotiation through accept header Secuirty – based on DTLS coap://example.se:5683/~sensors./temp1.xm
l
IETF standard Based on HTTP UDP Bearer QoS – App level Content negotiation through accept header Secuirty – based on DTLS coap://example.se:5683/~sensors./temp1.xm
l
XMPP
XMPP foundation standard Originally created for IM XML based Heavy for mobile networks (gtalk
optimisations) http://wiki.xmpp.org/web/InternetOfThings
XMPP foundation standard Originally created for IM XML based Heavy for mobile networks (gtalk
optimisations) http://wiki.xmpp.org/web/InternetOfThings
QoS MQTT QOS – all messages are published with
a Quality of Service value:– QOS=0: "At most once", where messages
are delivered according to the best effortsof the underlying TCP/IPnetwork. Message loss or duplication canoccur. This level could be used, forexample, with ambient sensor data whereit does not matter if an individual readingis lost as the next one will be publishedsoon after.
– QOS=1: "At least once", where messagesare assured to arrive but duplicates mayoccur.
– QOS=2: "Exactly once", where messageare assured to arrive exactly once. Thislevel could be used, for example, withbilling systems where duplicate or lostmessages could lead to incorrect chargesbeing applied.
CoAP Requests and response
messages may be markedas “confirmable” or“nonconfirmable”.Confirmable messagesmust be acknowledged bythe receiver with an ackpacket. Nonconfirmable messages
are “fire and forget”.
MQTT QOS – all messages are published with
a Quality of Service value:– QOS=0: "At most once", where messages
are delivered according to the best effortsof the underlying TCP/IPnetwork. Message loss or duplication canoccur. This level could be used, forexample, with ambient sensor data whereit does not matter if an individual readingis lost as the next one will be publishedsoon after.
– QOS=1: "At least once", where messagesare assured to arrive but duplicates mayoccur.
– QOS=2: "Exactly once", where messageare assured to arrive exactly once. Thislevel could be used, for example, withbilling systems where duplicate or lostmessages could lead to incorrect chargesbeing applied.
CoAP Requests and response
messages may be markedas “confirmable” or“nonconfirmable”.Confirmable messagesmust be acknowledged bythe receiver with an ackpacket. Nonconfirmable messages
are “fire and forget”.
Others
AMQP Xively Evrythng Allseen Home automation standards… Weightless ThingWorks, nPhase, Carriots, Raco SMS/ USSD
AMQP Xively Evrythng Allseen Home automation standards… Weightless ThingWorks, nPhase, Carriots, Raco SMS/ USSD
IOT Challenges v2Heterogeneous networks
Web/JavaScript native
Legacy mode
Strong securityStrong security
Dynamic programming
Fine grained policy control
Distributed architecture/ shared ownership
Control of dataDep
loym
ent C
ost
Webinos core technologycomponentsSpecification PurposeTLS/DTLS Mutually authenticated TLS for secure bi-lateral commsPKI Distributed certificate schema for person/device identityOAauth Distributed authenticationWebIDL Definition of a functional interfaceWebIDL Definition of a functional interfaceFeature-URI Distributed mechanism for method, permission
descriptionJSON-RPC Web friendly mechanism for remote method invocationXACML OASIS defined standard for general access controlWidget Spec Interoperable application packagingWebinos-address Permanent web address for “entity”Webinos-discovery Discovery algorithm: local and remoteAPIs A suite of rich but extensible APIs
16
Full Fat VersionFull NodeWorks for 2Mb+ devices. Fullynode implementation.Advantages Full policy on devices Device has own ID On device programmability Flexible Peer to peer
networking
CloudCloudFull NodeWorks for 2Mb+ devices. Fullynode implementation.Advantages Full policy on devices Device has own ID On device programmability Flexible Peer to peer
networking
18
PolicyPolicy
APIsAPIs
Cont
act
sCo
ntac
ts
PackagerPackager
AppsApps
File
File
NFC
NFC
Loca
tion
Loca
tion
Oth
er…
Oth
er…
PKI
Webinos Driver modelJavaScript DriverHighly flexible modelGood for legacy devicesVery easy to develop forUses ID and policy from hub
PolicyPolicy
APIsAPIs
SEN
SOR
PackagerPackager
AppsApps
ACTU
ATO
RAC
TUAT
OR
NFC
Loca
tion
Oth
er…
PKI
JavaScript DriverHighly flexible modelGood for legacy devicesVery easy to develop forUses ID and policy from hub
19
APIs
SEN
SOR
SEN
SOR
ACTU
ATO
RAC
TUAT
OR
NFC
NFC
Loca
tion
Loca
tion
Oth
er…
Oth
er…
REST Serial Bluetooth ANT Other
HTTPHTTP MQTTMQTT CoAPCoAP XMPPXMPP OtherOther
Webinos lite (work inprogress)
MicroPZPTarget 32kb-2mb device rangeRaw C++ implementation stackShared secret identityLightweight TLSSubset of policyBSON alternative to JSONTinyJS interpretationLightweight application signing
CloudCloud
MicroPZPTarget 32kb-2mb device rangeRaw C++ implementation stackShared secret identityLightweight TLSSubset of policyBSON alternative to JSONTinyJS interpretationLightweight application signing
20
PolicyPolicy
APIsAPIs
Cont
act
sCo
ntac
ts
PackagerPackager
AppsApps
File
File
NFC
NFC
Loca
tion
Loca
tion
Oth
er…
Oth
er…
PKI
General Data Collector
Data CollectionSimple cloud entityCollects pushed data via webadaptorsPublishes realtime data via websocketStores historical dataGeneric Sensor adaptor writtenon PZH
CloudCloud Data CollectionSimple cloud entityCollects pushed data via webadaptorsPublishes realtime data via websocketStores historical dataGeneric Sensor adaptor writtenon PZH
PolicyPolicy
APIsAPIs
Cont
act
sCo
ntac
ts
PackagerPackager
AppsApps
File
File
NFC
NFC
Loca
tion
Loca
tion
Oth
er…
Oth
er…
PKI
TingoDBTingoDB
Data Management andVisualisation
Convert you data andsensors into interoperableforms
Turn you data into usefulapplications (internal orpublic) quickly and easily
Manage the data andsecurity within oneframework
Easily work with differentdepartments, even differentauthorities
Any geographical data
Convert you data andsensors into interoperableforms
Turn you data into usefulapplications (internal orpublic) quickly and easily
Manage the data andsecurity within oneframework
Easily work with differentdepartments, even differentauthorities
Any geographical data
CONCLUSIONS
Bearer technology does not matter as muchas you think! Application protocol you may not have
control of A generalised architecture for combining
heterogeneous sensors, will future proof yoursolution Security is key Stick to internet principles
Bearer technology does not matter as muchas you think! Application protocol you may not have
control of A generalised architecture for combining
heterogeneous sensors, will future proof yoursolution Security is key Stick to internet principles