Upload
waltercolitti
View
1.269
Download
0
Embed Size (px)
DESCRIPTION
Presentation given at the 1st IoT Gent meetup - 17/01/2014
Citation preview
WALTER COLITTI (@waltercolitti)
Towards an Interoperable, Scalable and Evolvable Internet of Things
The IoT vision
Connected devices
2010
2020
4.5 Billions
50 Billions
2015 25 Billions
Different devices
Our focus
IoT protocol problem
Internet Intranet of Things
No interoperability
architectural complexity
complex integration with the Web
Proprietary protocols + Application gateways
= X
vendor lock-in
Gateways
means
mean
The Internet success
Interoperability
End-to-End principle
Why not repeating the IP path?
Embedded IP technologies
6LoWPAN
RPL
Enables IPv6 over constrained networks
Routing protocol for Low-power Lossy Networks
6LowPAN
Application
Transport
Internet (IPv4/IPv6)
Link
INTERNET
LAN
Wireless
Sensor
Network
Internet (IPv4/IPv6)
Link
Application
Transport
Internet (IPv6)
Link
(802.15.4) Link
(802.15.4)
6LoWPAN
TCP/IP enabled
Sensor mote
LAN/Internet
border router
6LoWPAN
Internet
(IPv6)
Internet/WSN
border router
Internet (IPv4/IPv6)
Link
Application
Why stopping at IP?
Web technologies
REST HTTP
REpresentational State
Transfer
HyperText Transfer
Protocol
Embedded Web technologies
REST HTTP
REST HTTP
http://.........../temperature
Web of Things
The problem
REST/HTTP complex for tiny devices Relies on TCP
Complex observation mechanisms
No multicast support
REST/HTTP not designed for IoT/M2M apps
Long-lived transactions
CoAP
Constrained Application Protocol
CoRE Working Group
HTTP functionalities for constrained devices
Extra functionalities added
Transaction layer for message exchange
CoAP design
Dual Layer
Request/Response layer for resource manipulation
Features Small message overhead (4 bytes binary header)
Client can observe resource status changes
CoAP
UDP
IP
HTTP
TCP
IP
Request/
Response
Transaction
CoAP principle
ACK (+ piggybacked response) ACK (+ piggybacked response)
ACK (+ piggybacked response) NON (notification 2)
NON (notification 1)
ACK
ACK Client Server
CON request
Client Server
NON request
Client Server a)
b)
c)
CON (registration)
Client Server d)
CON (registration)
CON (notification 2)
CON (notification 1)
CoAP Performance
Response Time
CoAP Performance
(server mote)
Energy consumption
IoT/Web Integration
Cross-protocol
resource access
(Proxy) Network
of Smart
Objects
REST / HTTP REST / CoAP
Resource search and
discovery
(Resource Directory)
Web App Internet
IoT/Web Integration
2.05 Content
"<coap://[obj_ipaddr]/temp>;rt="Temperature"
Proxy
GET coap://rd_ipaddr/rd-
lookup/res?rt=Temperature
2.05 Content "</rd>; rt="core.rd"
Smart Object
GET coap://[rd_ipaddr]/.well-
known/core?rt=core.rd
2.01 Created Location: /rd/obj_ipaddr
POST coap://[rd_ipaddr]/rd?ep=obj_ipaddr
</temp>;rt=“Temperature”
RD
200 OK
"<coap:// obj_ipaddr /temp>;rt="Temperature"
Web App
GET http://proxy_ipaddr/.well-
known/core/coap://rd_ipaddr/rd-
lookup/res?rt=Temperature
2.05 Content "temp value"
GET coap://[obj_ipaddr]/temp
200 OK "temp value "
GET http://proxy_ipaddr/.well-
known/core/coap://obj_ipaddr /temp
Interoperability/Scalability
Cross-protocol
resource access
(Proxy) Network
of Smart
Objects
REST / HTTP REST / CoAP
Resource search and
discovery
(Resource Directory)
Web App Internet
Web App
Web App
Interoperability/Scalability
Cross-protocol
resource access
(Proxy) Network
of Smart
Objects
REST / HTTP REST / CoAP
Resource search and
discovery
(Resource Directory)
Web App Internet
Network
of Smart
Objects
Network
of Smart
Objects
Conclusions
Open standards eliminate vendor lock-in
CoAP brings the Web in the IoT
Integration with Web applications
Interoperability
Scalability
6LoWPAN brings IPv6 in the IoT
THANK YOU for your attention!
WALTER COLITTI
waltercolitti
http://www.linkedin.com/in/wcolitti