californium: scalable cloud services for the internet of things with coap
TRANSCRIPT
![Page 1: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/1.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 1|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Matthias Kovatsch, Martin Lanter, and Zach Shelby
Californium: Scalable Cloud Services
for the Internet of Things with CoAP
Monday, 06 Oct 20144th International Conference on the Internet of Things (IoT 2014)
Cambridge, MA, USA
![Page 2: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/2.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 2|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Tiny Resource-constrained Devices
Low unit
costs
Low-power
networks
![Page 3: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/3.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 3|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Web Technology
Web mashups
Well-known patterns
Cloud
services
![Page 4: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/4.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 4|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
RESTful protocol designed from scratch
Transparent mapping to HTTP
Additional features for IoT/M2M scenarios
Constrained Application Protocol (CoAP)
Message Sub-layer
Reliability
UDP DTLS …
Request-Response Sub-layer
RESTful interaction
GET, POST, PUT, DELETE,
URIs, and Internet Media Types
Deduplication
Optional retransmissions
Co
AP
![Page 5: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/5.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 5|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
e.g., Observing Resources
Server
Client
Resource state at origin server
Replicated state at client Max-Age
(caching)
![Page 6: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/6.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 6|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
e.g., Group Communication
PUT /control/color#00FF00
Enabled by IP multicast
![Page 7: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/7.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 7|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
CoAP for Tiny Resource-constrained Devices
Web mashups
Well-known patterns
Cloud
services
![Page 8: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/8.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 8|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Myriads of IoT Devices
New traffic
patterns
Small but numerous
messages
Very high
concurrency factors
for IoT services
![Page 9: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/9.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 9|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Based on high-performance
HTTP Web servers
Staged Event-Driven Architecture[Welsh et al. 2001]
PIPELINED architecture[Choi et al. 2005]
Reference implementation
Californium (Cf) Coap framework (>=0.18.*)
Updates Initial-Cf implementation
Scalable Architecture for IoT Cloud Services
![Page 10: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/10.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 10|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Californium
Architecture
3 stages
Central state
management
Independent
concurrency
models
B2
B1
A2
A
Root
Sta
ge
3: C
lien
t
Client for Y
Client for X
Async. ClientB
A1
Sta
ge
1S
tag
e 2
: P
roto
co
l (C
oA
P)
Sta
ge
3: B
usin
ess L
og
.
Network Transport (socket I/O)
Exch
an
ge
Sto
re
Blockwise Layer
Observe Layer
Token Layer
Reliability Layer
Matching & Deduplication
Message Serialization
ma
in
![Page 11: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/11.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 11|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Experiment Setup
Netgear GS108 Gigabit Switch
3x i7-4770 CPU @ 3.40 GHz
CoAPBench CoAP and HTTP servers
System under test
![Page 12: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/12.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 12|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Laptop
Intel Core i7-3720M
CPU @ 2.6 GHz
(Hyperthreading and
Turboboost disabled)
24 GiB RAM
Intel 82579 LM Gigabit
Multi-core Utilization
![Page 13: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/13.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 13|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Multi-core Utilization
0 k
20 k
40 k
60 k
80 k
100 k
120 k
140 k
10 100 1,000 10,000
1 core
2 cores
3 cores
4 cores
0 k
20 k
40 k
60 k
80 k
100 k
120 k
140 k
10 100 1,000 10,000
Number of concurrent clients Number of concurrent clients
Re
qu
es
tsp
er
se
co
nd
Initial-Cf Californium
![Page 14: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/14.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 14|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Lab machine
Intel Core i7-4770
CPU @ 3.40 GHz
(Hyperthreading and
Turboboost disabled)
16 GiB RAM
Intel Ethernet
Connection I217-V
Comparison with the State of the Art
![Page 15: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/15.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 15|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Throughput with HTTP Keep-Alive
0 k
50 k
100 k
150 k
200 k
250 k
300 k
350 k
400 k
10 100 1,000 10,000
Re
qu
est
s p
er
seco
nd
Number of concurrent clientsCalifornium Initial Cf Sensinode txThings OpenWSN nCoAPJetty Vert.x Grizzly Tomcat Node.js Apache + PHP
![Page 16: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/16.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 16|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Throughput without HTTP Keep-Alive
0 k
50 k
100 k
150 k
200 k
250 k
300 k
350 k
400 k
10 100 1,000 10,000
Re
qu
est
s p
er
seco
nd
Number of concurrent clientsCalifornium Initial Cf Sensinode txThings OpenWSN nCoAPJetty Vert.x Grizzly Tomcat Node.js Apache + PHP
![Page 17: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/17.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 17|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Throughput without HTTP Keep-Alive
100
1,000
10,000
100,000
1,000,000
10 100 1,000 10,000
Re
qu
est
s p
er
seco
nd
(lo
g.)
Number of concurrent clientsCalifornium Initial Cf Sensinode txThings OpenWSN nCoAPJetty Vert.x Grizzly Tomcat Node.js Apache + PHP
![Page 18: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/18.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 18|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Californium architecture outperforms other solutions
CoAP’s low overhead also facilitates IoT service backend
Up to 64 times the throughput of HTTP
Choose native CoAP support over HTTP cross-proxies
Wait for (D)TLS 1.3 and DICE profile for next evaluation
Conclusions
![Page 19: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/19.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 19|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Project Web site
https://www.eclipse.org/californium/
Five repositories at GitHub
https://github.com/eclipse?query=californium
Core library and example projects
Abstraction for modular network stage (Connectors)
DTLS 1.2 implementation for network stage (DtlsConnector)
Stand-alone CoAP tools (console client, CoAPBench, …)
RESTful runtime container for server-side JavaScript
Californium (Cf) at
![Page 20: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/20.jpg)
Questions?
Matthias Kovatsch https://github.com/mkovatsc/
[email protected] http://people.inf.ethz.ch/mkovatsc/
![Page 21: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/21.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 21|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Intel Xeon E3-1265LV2 @ 2.5 GHz
0 k
40 k
80 k
120 k
160 k
200 k
240 k
10 100 1,000 10,000
Re
qu
est
s p
er
seco
nd
Number of concurrent clients
Cf 1/2/2 Initial-Cf Sensinode nCoAP Cf 4/4/4
![Page 22: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/22.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 22|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Embedded CoAP Web server
for Contiki OS
Thin server architecture
Small size and intuitive
resource handler API
Application-agnostic
device infrastructure
Resource-constrained Devices and Efficiency
https://github.com/contiki-os/contiki
![Page 23: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/23.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 23|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
Java CoAP framework
at the Eclipse Foundation
IETF “running code”
Unconstrained service backend
for myriads of IoT devices
DTLS 1.2 implementation
Basis for Actinium (Ac)
IoT Cloud Services and Scalability
http://www.eclipse.org/californium/
![Page 24: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/24.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 24|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
App-server for Californium
IoT mashups for automation
in the background
Server-side JavaScript
CoapRequest object API
RESTful lifecycle management
The Human in the Loop I
http://www.eclipse.org/californium/
![Page 25: Californium: Scalable Cloud Services for the Internet of Things with CoAP](https://reader034.vdocuments.mx/reader034/viewer/2022042817/55a647d01a28ab432e8b479a/html5/thumbnails/25.jpg)
Californium: Scalable Cloud Services for the Internet of Things with CoAP 25|Matthias Kovatsch
http://people.inf.ethz.ch/mkovatsc
CoAP protocol handler
for Mozilla Firefox
Browsing and bookmarking
of CoAP URIs
Interaction with resource like
RESTClient or Poster
Treat tiny devices like
normal RESTful Web services
The Human in the Loop II
https://addons.mozilla.org/firefox/addon/copper-270430/