Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 1
Prof. Paolo NesiDepartment of Systems and Informatics, University of Florence
Via S. Marta 3, 50139, Firenze, Italytel: +39-055-2758515, fax: +39-055-2758570
DISIT Lab, Sistemi Distribuiti e Tecnologie Internethttp://www.disit.dinfo.unifi.it/
[email protected]://www.disit.dinfo.unifi.it/nesi
Parte X: IOT Solutionsfrom Industry 4.0 to Smart City
Corso di: Sistemi DistribuitiLauree in: Ingegneria Informatica,
delle Telecomunicazioni ed Informatica di Scienze
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 2
IOT trend
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 3
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 4
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 5
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 6
Sommariol IOT conceptsl High vs Low level protocolsl Cloud vs Fog/Edge Computingl IOT Middlewarel IOT conceptual architecturel IOT communication patternsl IOT stack protocolsl IOT Brokersl Comparing high level protocolsl Comparing low level protocolsl FiWARE IOT stackl IOT development tooll IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 7
IOT Main Conceptl The implementation of smart services may implies the:
acquisition of data from the field computation of actions/values Imposition of actions/values on the field
Computation
Stan
dard
API
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 8
IOT Main Conceptl The implementation of smart services may implies the:
acquisition of data from the field computation of actions/values Imposition of actions/values on the field
Computation
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 9
Sommariol IOT conceptsl High vs Low level protocolsl Cloud vs Fog/Edge Computingl IOT Middlewarel IOT conceptual architecturel IOT communication patternsl IOT stack protocolsl IOT Brokersl Comparing high level protocolsl Comparing low level protocolsl FiWARE IOT stackl IOT development tooll IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 10
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 11
Requirements Connecting any kind of device via any kind of protocol Exploiting any device in building any kind of service Guarantee the security of data and connection, avoiding the
usage of Actuators/Sensors/Edges for non-authorized agents/users
Abstracting from IOT device location, protocol Abstracting from IOT device ownership and reliability Enabling the formalization of services on the basis of IOT
(most see them in terms of MicroServices with all the rest) …
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 12
Sommariol IOT conceptsl High vs Low level protocolsl Cloud vs Fog/Edge Computingl IOT Middlewarel IOT conceptual architecturel IOT communication patternsl IOT stack protocolsl IOT Brokersl Comparing high level protocolsl Comparing low level protocolsl FiWARE IOT stackl IOT development tooll IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 13
IOT Main Conceptl The implementation of smart services may implies the:
acquisition of data from the field computation of actions/values Imposition of actions/values on the field
ComputationIOT Edge
IOT Edge
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 14
Cloud vs Fog/Edge Computing
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 15
Edge Computing, Fog Computing
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 16
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 17
Sommariol IOT conceptsl High vs Low level protocolsl Cloud vs Fog/Edge Computingl IOT Middlewarel IOT conceptual architecturel IOT communication patternsl IOT stack protocolsl IOT Brokersl Comparing high level protocolsl Comparing low level protocolsl FiWARE IOT stackl IOT development tooll IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 18
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 19
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 20
IOT Context Brokerl Context Broker operations: create & pull data
Context Producers publish data/context elements by invoking the updateoperations on a Context Broker.
Context Consumers can retrieve data/context elements by invoking the query operations on a Context Broker
Context Consumer
query
Context Producer
update
Context Broker
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 21
Sommariol IOT conceptsl High vs Low level protocolsl Cloud vs Fog/Edge Computingl IOT Middlewarel IOT conceptual architecturel IOT communication patternsl IOT stack protocolsl IOT Brokersl Comparing high level protocolsl Comparing low level protocolsl FiWARE IOT stackl IOT development tooll IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 22
Conceptual architecture
IOT Device Management
IOT Broker IOT Discovery
SensorsActuators
IOT Broker IOT Discovery
SensorsActuators
IOT Edge
IOT ContextBroker
Wrapper
RabbitMQ
Sensors
Actuators
IOT Auth.Support
Cloud
Field
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 23
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 24
Sommariol IOT conceptsl High vs Low level protocolsl Cloud vs Fog/Edge Computingl IOT Middlewarel IOT conceptual architecturel IOT communication patternsl IOT stack protocolsl IOT Brokersl Comparing high level protocolsl Comparing low level protocolsl FiWARE IOT stackl IOT development tooll IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 25
https://www.cse.wustl.edu/~jain/cse570-15/ftp/iot_prot/
IOT stack protocols
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 26
Sommariol IOT conceptsl High vs Low level protocolsl Cloud vs Fog/Edge Computingl IOT Middlewarel IOT conceptual architecturel IOT communication patternsl IOT stack protocolsl IOT Brokersl Comparing high level protocolsl Comparing low level protocolsl FiWARE IOT stackl IOT development tooll IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 27
IOT BrokersAMQP STOM
PJMS COAP OASIS
MQTTRabbitMQ X X X X XActiveMQ X X X XStormMQ XHIVEMQ X XORIONBROKER
X X
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 28
Comparison high level IOT protocols
Protocols UDP/TCP Architecture Security
and QoS
Header Size (bytes)
Max Length(bytes)
MQTT TCP Pub/Sub Both 2 5
AMQP TCP Pub/Sub Both 8 -
CoAP UDP Req/Res Both 4 20 (typical)
XMPP TCP Both Security - -
DDS TCP/UDP Pub/Sub QoS - -
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 29
MQTT: Message Queue Telemetry Transport
security obtained with SSL/TLS since it is over TCP ISO/IEC PRF 20922 Over TCP/IP, Async, pub/subscribe, payload agnostic (can be encrypted)
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 30
MQTT QoS
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 31
AMQP Advanced Message Queuing Protocol
Over TCP, binary wire protocol Exchange decoupling
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 32
CoAP: Constrained Application Protocol
OMA LWM2M over IETF CoAP (Internet Engineering Task Force)
security obtained with DTLS, Datagram TLS HTTP like over UDP, no TCP
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 33
Other protocolsl STOMP: Streaming Text Oriented Messaging Protocol
Similar to HTTPl XMPP: Extensible Messaging and Presence Protocol
Based on XML, proposed by IETF Over TCP, can use HTTP
l WAMP: Web Application Messaging Protocol WebSocket protocol by IANA Over level 6
l SNMP by IETF, level 7 Over UDP, or IP Monitoring status of servers
l OneM2M AIOTI a strategic enabler for IoT applications and companies
developing IoT solutions
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 34
Comparison of lowlevel IOT prot.ProtocolliIoT
Standard Frequenza Range Data Rates
Bluetooth Bluetooth 4.2 2.4GHz (ISM) 50-150m (Smart/BLE)
1Mbps (Smart/BLE)
ZigBee ZigBee 3.0 based on IEEE802.15.4
2.4GHz 10-100m 250kbps
6LoWPAN RFC6282 (adapted and used over a variety of other networking media including Bluetooth Smart (2.4GHz) or ZigBee or low-power RF (sub-1GHz)
Vedi protocollo di supporto
Vedi protocollo di supporto
WiFi Based on 802.11n (most common usage in homes today)
2.4GHz and 5GHz bands Approximately 50m 600 Mbps maximum, but 150-200Mbps is more typical, depending on channel frequency used and number of antennas (latest 802.11-ac standard should offer 500Mbps to 1Gbps)
Cellular GSM/GPRS/EDGE (2G), UMTS/HSPA (3G), LTE (4G)
900/1800/1900/2100MHz 35km max for GSM; 200km max for HSPA
(typical download): 35-170kps (GPRS), 120-384kbps (EDGE), 384Kbps-2Mbps (UMTS), 600kbps-10Mbps (HSPA), 3-10Mbps (LTE)
NFC ISO/IEC 18000-3 13.56MHz (ISM) 10cm 100–420kbpsLoRaWAN LoRaWAN Various 2-5km (urban
environment), 15km (suburban environment)
0.3-50 kbps
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 35
Sommariol IOT conceptsl High vs Low level protocolsl Cloud vs Fog/Edge Computingl IOT Middlewarel IOT conceptual architecturel IOT communication patternsl IOT stack protocolsl IOT Brokersl Comparing high level protocolsl Comparing low level protocolsl FiWARE IOT stackl IOT development tooll IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 36
FIWARE IOT Stack
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 37
Federated hierarchical solutions
l Higher level protocols OMA NGSI (API)
l On Top of HTTP, HTTPS
Applications
NGSIagents
nNG
SI
nNG
SI
nNG
SI
nNG
SI
IoT Platform (a)
IoTBroker
IoTDiscovery
IoT Platform (b)
IoTBroker
IoTDiscovery
NGSIagents
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 38
Sommariol IOT conceptsl High vs Low level protocolsl Cloud vs Fog/Edge Computingl IOT Middlewarel IOT conceptual architecturel IOT communication patternsl IOT stack protocolsl IOT Brokersl Comparing high level protocolsl Comparing low level protocolsl FiWARE IOT stackl IOT development tooll IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 39
Conceptual archiecture
IOT Device Management
IOT Broker IOT Discovery
SensorsActuators
IOT Broker IOT Discovery
SensorsActuators
IOT Edge
IOT ContextBroker
Wrapper
RabbitMQ
Sensors
Actuators
IOT Auth.Support
Cloud
Field
Km4City KB Authentication Support
Cloud
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 40
MicroServices View Everything can be regarded as a MicroService Heterogeneous computing environment Suitable REST API may transform all in MicroServices
connected with some event driven approach. Discovering and registration Combination according to semantic
REST API can be MicroServices Storage: write/update, search/select, get Sensors and Actuators Subscription Protocol capabilityMobile phone: push vs pull solutions
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 41
Service vs Microservices
1
2
MicroServices processes
IOT Edge
Smart City API/search service
Sensor IOT Edge
Sensor
Sensor
Sensos
storage
Personalized storageactuator
Instance X of Service Y
On the field On Cloud
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 42
Service vs Microservices
l https://github.com/node-red/node-red
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 43
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 44
ComparisonIoT Software Platform
Device management?
Integration Security Protocols for data collection Types of analytics Support for
visualizations?
2lemetry - IoT Analytics Platform** Yes
Salesforce, Heroku, ThingWorxAPIs
Link Encryption (SSL), Standards ( ISO 27001, SAS70 Type II audit)
MQTT, CoAP, STOMP, M3DA
Real-time analytics (Apache Storm) No
Appcelerator No REST API Link Encryption (SSL, IPsec, AES-256) MQTT, HTTP Real-time analytics
(Titanium [1])Yes (Titanium UI Dashboard)
AWS IoT platform Yes REST APILink Encryption (TLS), Authentication (SigV4, X.509)
MQTT, HTTP1.1Real-time analytics (Rules Engine, Amazon Kinesis, AWS Lambda)
Yes (AWS IoT Dashboard)
Bosch IoT Suite - MDM IoT Platform Yes REST API *Unknown MQTT, CoAP, AMQP,
STOMP *Unknown Yes (User Interface Integrator)
Ericsson Device Connection Platform (DCP) - MDM IoT Platform
Yes REST APILink Encryption (SSL/TSL),Authentication (SIM based)
CoAP *Unknown No
EVRYTHNG - IoT Smart Products Platform No REST API Link Encryption (SSL) MQTT,CoAP,
WebSocketsReal-time analytics (Rules Engine)
Yes (EVRYTHNG IoT Dashboard)
IBM IoT Foundation Device Cloud Yes
REST and Real-time APIs
Link Encryption ( TLS), Authentication (IBM Cloud SSO), Identity management (LDAP)
MQTT, HTTPS Real-time analytics (IBM IoT Real-Time Insights) Yes (Web portal)
ParStream - IoT Analytics Platform*** No R, UDX API *Unknown MQTT Real-time analytics, Batch
analytics (ParStream DB)Yes (ParStream Management Console)
PLAT.ONE - end-to-end IoT and M2M application platform
Yes REST API Link Encryption (SSL), Identity Management (LDAP) MQTT, SNMP *Unknown
Yes (Management Console for application enablement, data management, and device management)
ThingWorx - MDM IoT Platform Yes REST API Standards (ISO 27001), Identity
Management (LDAP)
MQTT, AMQP, XMPP, CoAP, DDS, WebSockets
Predictive analytics(ThingWorxMachine Learning), Real-time analytics (ParStreamDB)
Yes (ThingWorx SQUEAL)
Xively- PaaS enterprise IoT platform No REST API Link Encryption (SSL/TSL)
HTTP, HTTPS, Sockets/ Websocket, MQTT
*Unknown Yes (Management console)
By Myuru Dayarathna
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 45
Sommariol IOT conceptsl High vs Low level protocolsl Cloud vs Fog/Edge Computingl IOT Middlewarel IOT conceptual architecturel IOT communication patternsl IOT stack protocolsl IOT Brokersl Comparing high level protocolsl Comparing low level protocolsl FiWARE IOT stackl IOT development tooll IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 46
Main Applications Scenariousl Smart City
Connected driveE-healthPersonal usage of
Servicesl Industria 4.0, industrial
automationControlling factoryPlants
l E-CommerceMonitoring shops
l …
l Home Automation .
l Office Automation .
l Safety and Security .
l …
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 47
IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 48
IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 49
IOT Applications
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 50
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2016-2017 51
Conclusionsl Open issues:
Development tools for IOTMonitoring and debug tools for IOTInteroperability among the several
protocolsSecurity over the Services/microServices