RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for...

34
RDF Provisioning for the Internet of Things Henning Hasemann, Alexander Kröller , Max Pagel TU Braunschweig

Transcript of RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for...

Page 1: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

RDF Provisioning for the Internet of Things

Henning Hasemann, Alexander Kröller, Max PagelTU Braunschweig

Page 2: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

RDF Provisioning for the Internet of Things

Henning Hasemann, Alexander Kröller, Max PagelTU Braunschweig

Page 3: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

The world as it should be

2

Page 4: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

sensor

The world as it should be

2

Page 5: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

sensorApplication / Appliance

The world as it should be

2

Page 6: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

6LowPAN, CoAP

access point,gateway

sensor IPv6, HTTP, REST

Application / Appliance

The world as it should be

2

Page 7: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

6LowPAN, CoAP

access point,gateway

sensor IPv6, HTTP, REST

RDF (e.g., W3C SSN-XG)

Application / Appliance

The world as it should be

2

Page 8: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

6LowPAN, CoAP

access point,gateway

sensor IPv6, HTTP, REST

RDF (e.g., W3C SSN-XG)

Application / Appliance

The world as it should be

2

Linked Data Cloud

Page 9: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

6LowPAN, CoAP

access point,gateway

sensor IPv6, HTTP, REST

RDF (e.g., W3C SSN-XG)

Application / Appliance

The world as it should be

This talk: RDF on the sensor

2

Linked Data Cloud

Page 10: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

RDF? SSN-XG?

RDF represents facts as subject–predicate–object triples: sensor01 hasValue 22.7

W3C SSN-XG ontology for sensors (SensorML superset)

Plus: Data can be linked to arbitrary otherdatasets. Works with closed data too!

Goal: Sensor “is” a self-rewriting RDF document:

3

Page 11: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Problem Space

Typical sensor (Jennic-based iSense):• Specialized firmware (or Contiki, TinyOS etc)• IEEE 802.15.4 radio (no direct IP connectivity)• ~100kB of RAM shared for code, heap, data • No external flash. No filesystem.

4

Page 12: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Problem Space

Typical sensor (Jennic-based iSense):• Specialized firmware (or Contiki, TinyOS etc)• IEEE 802.15.4 radio (no direct IP connectivity)• ~100kB of RAM shared for code, heap, data • No external flash. No filesystem.

Solution needs to be→

4

Page 13: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Problem Space

Typical sensor (Jennic-based iSense):• Specialized firmware (or Contiki, TinyOS etc)• IEEE 802.15.4 radio (no direct IP connectivity)• ~100kB of RAM shared for code, heap, data • No external flash. No filesystem.

Solution needs to be• efficient (code size)

4

Page 14: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Problem Space

Typical sensor (Jennic-based iSense):• Specialized firmware (or Contiki, TinyOS etc)• IEEE 802.15.4 radio (no direct IP connectivity)• ~100kB of RAM shared for code, heap, data • No external flash. No filesystem.

Solution needs to be• efficient (code size)• efficient (communications)

4

Page 15: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Problem Space

Typical sensor (Jennic-based iSense):• Specialized firmware (or Contiki, TinyOS etc)• IEEE 802.15.4 radio (no direct IP connectivity)• ~100kB of RAM shared for code, heap, data • No external flash. No filesystem.

Solution needs to be• efficient (code size)• efficient (communications)• efficient (data storage)

4

Page 16: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Problem Space

Typical sensor (Jennic-based iSense):• Specialized firmware (or Contiki, TinyOS etc)• IEEE 802.15.4 radio (no direct IP connectivity)• ~100kB of RAM shared for code, heap, data • No external flash. No filesystem.

Solution needs to be• efficient (code size)• efficient (communications)• efficient (data storage)• platform-independent

4

Page 17: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

The Wiselib RDF Provider

RDF Service Broker

Client

CoAPB2B…

RDF Sensor Data

RDF Documents

notifies

notifies

Sensor Data Provider

SerializerSerializerSerializer

WiselibTupleStore

5

Page 18: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

The Wiselib RDF Provider

RDF Service Broker

Client

CoAPB2B…

RDF Sensor Data

RDF Documents

notifies

notifies

Sensor Data Provider

SerializerSerializerSerializer

WiselibTupleStore

5

Based on the Wiselib:compiles for 10+ platforms, efficient C++

Page 19: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

The Wiselib RDF Provider

RDF Service Broker

Client

CoAPB2B…

RDF Sensor Data

RDF Documents

notifies

notifies

Sensor Data Provider

SerializerSerializerSerializer

WiselibTupleStore

5

Wiselib TupleStore• Stores RDF triples•Multiple documents•Optional compression• Configurable code vs.

RAM vs. energy trade-offs

Based on the Wiselib:compiles for 10+ platforms, efficient C++

Page 20: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

The Wiselib RDF Provider

RDF Service Broker

Client

CoAPB2B…

RDF Sensor Data

RDF Documents

notifies

notifies

Sensor Data Provider

SerializerSerializerSerializer

WiselibTupleStore

5

Wiselib TupleStore• Stores RDF triples•Multiple documents•Optional compression• Configurable code vs.

RAM vs. energy trade-offs

Sensor Data Provider• Updates sensor data

in the TS

Based on the Wiselib:compiles for 10+ platforms, efficient C++

Page 21: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

The Wiselib RDF Provider

RDF Service Broker

Client

CoAPB2B…

RDF Sensor Data

RDF Documents

notifies

notifies

Sensor Data Provider

SerializerSerializerSerializer

WiselibTupleStore

5

Wiselib TupleStore• Stores RDF triples•Multiple documents•Optional compression• Configurable code vs.

RAM vs. energy trade-offs

Service Broker• Provides document-

level access•Manages notifications

Sensor Data Provider• Updates sensor data

in the TS

Based on the Wiselib:compiles for 10+ platforms, efficient C++

Page 22: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Application - Documents

6

Represent device with multiple RDF documents(TupleStore handles repetition)

Page 23: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Application - Documents

6

NODE(device description)

.well-known(list of documents, services)

Documents per device:

Represent device with multiple RDF documents(TupleStore handles repetition)

Page 24: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Application - Documents

6

NODE(device description)

.well-known(list of documents, services)

Documents per device:

Documents per sensor:

MINIMAL(just the reading)

INTRINSIC( + basic info)

COMPLETE(all available info)

Represent device with multiple RDF documents(TupleStore handles repetition)

✓ ✓

Page 25: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Broker Protocols I: B2B Command Interface

• Simplest access: Command Interface, tailored for broker-to-broker communication• Addresses problem: Tuples usually > 1 MTU

• Element-wise transmission + Command (insert/delete), with transaction logic

0x1074 „Wiselib RDF Provider“

0xac48 <http://www.w3.org/...>

0x2304 <http://www.ibr.cs.de..>

0x2304 0xac48 INSERT

0xab80 0x16c0 0x30b4

Transaction tableSubject Predicate Object Operation

TS Dictionary

7

Page 26: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Broker Protocols II: Document-Level Interface

8

Document-Level Interface • operates on RDF documents• usually CoAP service requests from Internet

Operations:• GET [documentID]• POST [documentIDs] [tuples]• DELETE [documentID] [tuple]

• SUBSCRIBE [documentID] [callback]• UNSUBSCRIBE [subscriptionID]

Can use different serializations, for now: Google ProtoBuf and SHDT... (RDF-XML too heavy?)

Page 27: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Streaming HDT

HDT [Fernandez et al. ’10]Header

(General meta information)

Dictionary

…297 <http://www.w3.org/People/EM/...>

1 <http://www.w3.org/1999/02/22-rdf...>

0 <http://www.tu-bs.de/kroeller/>

Triples

33

75

72 5

17

29 5

53 91

29 11

Subjects Predicates Objects

… ……

9

“Header-Dictionary-Triples” (HDT)• Standard RDF serialization• Highly efficient encoding

• Drawback: Requires full assembly of document before transmission halving usable capacity =̂

Page 28: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Streaming HDT

HDT [Fernandez et al. ’10]Header

(General meta information)ID bitwidthID space size

Stream

“Streaming” HDT (SHDT)Header

(General meta information)

Dictionary

…297 <http://www.w3.org/People/EM/...>

1 <http://www.w3.org/1999/02/22-rdf...>

0 <http://www.tu-bs.de/kroeller/>

Triples

33

75

72 5

17

29 5

53 91

29 11

Subjects Predicates Objects

… ……

* 121 <http://www.tu-bs.de/kroeller/><http://www.tu-bs.de/kroeller/>

* 23 <http://xmlns.com/foaf/0.1/name><http://xmlns.com/foaf/0.1/name>

* 45 „Alexander Kröller“„Alexander Kröller“

121 23 45

* 78 <http://xmlns.com/foaf/0.1/title><http://xmlns.com/foaf/0.1/title>

* 23 „Mr.“„Mr.“

121 78 23

...

10

Page 29: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Streaming HDT

Header(General meta information)

ID bitwidthID space size

Stream

“Streaming” HDT (SHDT)

* 121 <http://www.tu-bs.de/kroeller/><http://www.tu-bs.de/kroeller/>

* 23 <http://xmlns.com/foaf/0.1/name><http://xmlns.com/foaf/0.1/name>

* 45 „Alexander Kröller“„Alexander Kröller“

121 23 45

* 78 <http://xmlns.com/foaf/0.1/title><http://xmlns.com/foaf/0.1/title>

* 23 „Mr.“„Mr.“

121 78 23

...

11

• Document usually transmitted from IoT device (constrained) to Internet host (unconstrained)

• SHDT exploits asymmetry

• Sender has freedom to decide ID space, mix dictionary/triples, re-use IDs.

• Allows for encoding on-the-fly, needs buffer for 1 packet plus hash table (any size)

Page 30: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Evaluation – Streaming HDT

<http://spitfire-project.eu/sensor/sensor1234> <http://www.w3.org/2000/01/rdf-schema#type> <http://purl.oclc.org/NET/ssnx/ssn#Sensor> .<http://spitfire-project.eu/sensor/sensor1234> <http://purl.oclc.org/NET/ssnx/ssn#observedProperty> <http://spitfire-project.eu/property/Temperature> .<http://spitfire-project.eu/sensor/sensor1234> <http://spitfire-project.eu/cc/spitfireCC_n3.owl#uomInUse> <http://spitfire-project.eu/uom/Centigrade> .<http://spitfire-project.eu/sensor/sensor1234> <http://www.loa-cnr.it/ontologies/DUL.owl#hasValue> "10.2" .<http://spitfire-project.eu/sensor/sensor1234> <http://purl.org/dc/terms/date> "12-04-02T12:48Z" .<http://spitfire-project.eu/property/Temperature> <http://www.w3.org/2000/01/rdf-schema#type> <http://purl.oclc.org/NET/ssnx/ssn#Property> .<http://spitfire-project.eu/property/Temperature> <http://purl.oclc.org/NET/muo/muo#measuredIn> <http://spitfire-project.eu/uom/Centigrade> .<http://spitfire-project.eu/uom/Centigrade> <http://www.w3.org/2000/01/rdf-schema#type> <http://purl.oclc.org/NET/muo/muo#UnitOfMeasurement> .<http://spitfire-project.eu/uom/Centigrade> <http://purl.oclc.org/NET/muo/muo#prefSymbol> "C" .<http://spitfire-project.eu/sensor/sensor1234> <http://purl.oclc.org/NET/ssnx/ssn#detects> <http://spitfire-project.eu/sensor_stimulus/silver_expansion> .…

Serialization size

12

Page 31: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

TS & RDF Broker11.3k

CoAP11.1k

SHDT 1.8k

B2B 4.3k

PB 3.1k

iSense 5139

TS & RDF Broker6.0k

CoAP8.2k

SHDT 1.4k

B2B 2.5k

PB 1.6k

iSense 5148

25.5

k

24.2

k

15.6

k

15.8

k

15.6

k

8.5k

Evaluation — Code Size

13

Page 32: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Evaluation — Code Size

TS & RDF Broker9.2k

CoAP9.0k

SHDT 1.6k

B2B 3.7k

PB 2.9k

TinyOSMicaZ

TS & RDF Broker9.1k

CoAP9.6k

SHDT 1.7k

B2B 4.0k

PB 2.9k

ContikiMicaZ

TS & RDF Broker6.3k

CoAP7.6k

SHDT 1.0k

B2B 2.2k

PB 1.5k

TinyOSTelosB

21.6

k

20.4

k

13.1

k

21.1

k

19.8

k

12.9

k 15.4

k

14.9

k

8.5k

14

Page 33: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Contributions & Summary

SeriSeri• “Node as RDF document”

•Modular & platform-independent RDF Provider

• Configurable protocols

• Configurable serialization, + new SHDT format

Upcoming: External memory data structures (e.g., Flash, SD)

15

NODE

Page 34: RDF Provisioning for the Internet of Things · Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012 The Wiselib RDF Provider RDF Service Broker

Hasemann, Kröller, Pagel – RDF Provisioning for the Internet of Things – 10/26/2012

Contributions & Summary

SeriSeri• “Node as RDF document”

•Modular & platform-independent RDF Provider

• Configurable protocols

• Configurable serialization, + new SHDT format

Upcoming: External memory data structures (e.g., Flash, SD)

The End. Thank You!15

NODE