24
WALTER COLITTI (@waltercolitti) Towards an Interoperable, Scalable and Evolvable Internet of Things

IoT Gent meetup

Embed Size (px)

DESCRIPTION

Presentation given at the 1st IoT Gent meetup - 17/01/2014

Citation preview

Page 1: IoT Gent meetup

WALTER COLITTI (@waltercolitti)

Towards an Interoperable, Scalable and Evolvable Internet of Things

Page 2: IoT Gent meetup

The IoT vision

Connected devices

2010

2020

4.5 Billions

50 Billions

2015 25 Billions

Page 3: IoT Gent meetup

Different devices

Page 4: IoT Gent meetup

Our focus

Page 5: IoT Gent meetup

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

Page 6: IoT Gent meetup

The Internet success

Interoperability

End-to-End principle

Page 7: IoT Gent meetup

Why not repeating the IP path?

Page 8: IoT Gent meetup

Embedded IP technologies

6LoWPAN

RPL

Enables IPv6 over constrained networks

Routing protocol for Low-power Lossy Networks

Page 9: IoT Gent meetup

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

Page 10: IoT Gent meetup

Why stopping at IP?

Page 11: IoT Gent meetup

Web technologies

REST HTTP

REpresentational State

Transfer

HyperText Transfer

Protocol

Page 12: IoT Gent meetup

Embedded Web technologies

REST HTTP

REST HTTP

http://.........../temperature

Web of Things

Page 13: IoT Gent meetup

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

Page 14: IoT Gent meetup

CoAP

Constrained Application Protocol

CoRE Working Group

HTTP functionalities for constrained devices

Extra functionalities added

Page 15: IoT Gent meetup

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

Page 16: IoT Gent meetup

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)

Page 17: IoT Gent meetup

CoAP Performance

Response Time

Page 18: IoT Gent meetup

CoAP Performance

(server mote)

Energy consumption

Page 19: IoT Gent meetup

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

Page 20: IoT Gent meetup

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

Page 21: IoT Gent meetup

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

Page 22: IoT Gent meetup

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

Page 23: IoT Gent meetup

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

Page 24: IoT Gent meetup

THANK YOU for your attention!

WALTER COLITTI

[email protected]

waltercolitti

http://www.linkedin.com/in/wcolitti