1. Assessing data dissemination strategies
within Triple Spaces on the Web of Things
esIoT 2012
´ ´ ˜
Aitor Gomez-Goiri, Diego Lopez-de-Ipina
DeustoTech - Deusto Institute of Technology, University of Deusto
http://www.morelab.deusto.es
July 4, 2012
2. Outline
Introduction
Data dissemination strategies
Evaluation
Conclusions
Assessing data dissemination strategies 2 / 57
3. Outline
Introduction
Data dissemination strategies
Evaluation
Conclusions
Assessing data dissemination strategies Introduction 3 / 57
4. The Web of Things
Growing connectivity of everyday objects.
WoT to integrate things.
Scalable interaction, integration with the web world...
But also inherits problems from the web world!
Lack of expressiveness and human orientation
The Semantic Web enables sharing knowledge across
different applications
Assessing data dissemination strategies Introduction 4 / 57
5. The Semantic Web
The vision of the Semantic Web is to extend principles of
the Web from documents to data. Data should be
accessed using the general Web architecture using, e.g.,
URI-s; data should be related to one another just as
documents (or portions of documents) are already. This
also means creation of a common framework that allows
data to be shared and reused across application,
enterprise, and community boundaries, to be processed
automatically by tools as well as manually, including
revealing possible new relationships among pieces of
data. [Con11]
Assessing data dissemination strategies Introduction 5 / 57
6. The Semantic Web
The vision of the Semantic Web is to extend principles of
the Web from documents to data. Data should be
accessed using the general Web architecture using, e.g.,
URI-s; data should be related to one another just as
documents (or portions of documents) are already. This
also means creation of a common framework that allows
data to be shared and reused across application,
enterprise, and community boundaries, to be processed
automatically by tools as well as manually, including
revealing possible new relationships among pieces of
data. [Con11]
Assessing data dissemination strategies Introduction 6 / 57
7. Triple Space Computing
Describes the knowledge shared using the SW
2 applications using standard ontologies can interact among
them automatically enriching one each other.
Space-based computing
time autonomy
space autonomy
reference autonomy
Assessing data dissemination strategies Introduction 7 / 57
8.
9. Goal
How to realize this shared blackboard in the IoT?
Assessing data dissemination strategies Introduction 9 / 57
10. Outline
Introduction
Data dissemination strategies
Centralization
Negative broadcasting
Gossiping based strategy
Evaluation
Conclusions
Assessing data dissemination strategies Data dissemination strategies 10 / 57
11.
12.
13. Centralization in short
r = |Q| + wf .t.(|N| − 1) (1)
Assessing data dissemination strategies Data dissemination strategies 13 / 57
14.
15.
16. Negative broadcasting in short
r = |Q|.(|N| − 1) (2)
Assessing data dissemination strategies Data dissemination strategies 16 / 57
17. How to improve the NB?
Reducing the amount of receivers for a query.
Assessing data dissemination strategies Data dissemination strategies 17 / 57
18.
19.
20. Problem: how to perfectly predict them without
knowing all what they know?
21.
22. TBox and ABox
According to Nardi and Brachman [NB03]...
TBox contains the knowledge which describes general properties
of concepts or terminology.
ABox contains knowledge that is specific to the individuals of the
domain of discourse.
Assessing data dissemination strategies Data dissemination strategies 22 / 57
23. In other words...
With TBox we can describe the type of devices there are in the
world or the sensors they have.
With ABox we can specify that HTC is a mobile brand or that the
sensed temperature is 3o C.
Assessing data dissemination strategies Data dissemination strategies 23 / 57
24. TBox and ABox in IoT scenarios?
Mobile devices: user profile,...
Sensors and actuators
The structure of the data barely changes!
Assessing data dissemination strategies Data dissemination strategies 24 / 57
25. Our proposal
We can assume that all the nodes have or can easily obtain
the TBox information.
Nodes gossip the classes of concepts (rdf:type) shared by
other nodes.
Assessing data dissemination strategies Data dissemination strategies 25 / 57
29. Outline
Introduction
Data dissemination strategies
Evaluation
Conclusions
Assessing data dissemination strategies Evaluation 29 / 57
30. Remember
We wanted to know which strategy fits better for IoT.
Otsopack: our publicly available TSC middleware which uses
HTTP.
Therefore: communication between nodes was point to point
and exchanges data RDF triples.
Assessing data dissemination strategies Evaluation 30 / 57
31. Methodology
Discovery process was ignored.
The Semantic Sensor Network Ontology (SSN).
Datasets from the University of Utah and the University of
Deusto.
Measures taken from real embedded web servers.
Simpy.
Assessing data dissemination strategies Evaluation 31 / 57
32. Performance Metrics
Precision: the fraction of nodes which answered relevant
results.
Recall: the fraction of relevant answers returned.
Response time.
Assessing data dissemination strategies Evaluation 32 / 57
33.
34.
35.
36. Outline
Introduction
Data dissemination strategies
Evaluation
Conclusions
Assessing data dissemination strategies Conclusions 36 / 57
37. Conclusions
Need of a gossiping approach.
Increase the precision.
Simulate specific scenarios from the literature.
Assessing data dissemination strategies Conclusions 37 / 57
39. Bibliography
World Wide Web Consortium.
W3c semantic web faq, August 2011.
D. Nardi and R.J. Brachman.
An introduction to description logics.
The description logic handbook: theory, implementation, and
applications, pages 1–40, 2003.
Assessing data dissemination strategies Bibliography 39 / 57
42. Write
public String write(String spaceURI, Graph ITriples)
throws TSException;
Assessing data dissemination strategies Backup slides 42 / 57
43. Read
public Graph read
(String spaceURI, String graphURI, long timeout)
throws TSException;
public Graph read
(String spaceURI, Template template, long timeout)
throws TSException;
Assessing data dissemination strategies Backup slides 43 / 57
44. Take
public Graph take
(String spaceURI, String graphURI, long timeout)
throws TSException;
public Graph take
(String spaceURI, Template template, long timeout)
throws TSException;
Assessing data dissemination strategies Backup slides 44 / 57
45. Query
public Graph query(String spaceURI, Template template)
throws TSException;
Assessing data dissemination strategies Backup slides 45 / 57
47. Our realization of the ideas towards this adaptation are
incarnated on Otsopack Open source project
48. Otsopack Layers
Each Otsopack instance.
Assessing data dissemination strategies Backup slides 48 / 57
49. About HTTP and TSC
The HTTP verbs retrieve, create, modify or delete web resources
The TS primitives retrieve, create, modify or delete RDF graphs
on a space
(right, to be honest TS also offers a query, which works at space level)
Assessing data dissemination strategies Backup slides 49 / 57
50. A RESTful HTTP API
To expose TS querying primitives
HTTP status codes
Using content negotiation
Assessing data dissemination strategies Backup slides 50 / 57
51. Discovery
Registry based discovery
Multicast based implemented
Easy to adopt new ones: DNS, mDNS, lmDNS etc.
Assessing data dissemination strategies Backup slides 51 / 57
52. TSC API in depth
HTTP request URL
GET /{sp}/query/wildcards/{s}/{p}/{o-uri}
/{sp}/query/wildcards/{s}/{p}/{o-type}/{o-value}
GET /{sp}/graphs/{g}
GET /{sp}/graphs/wildcards/{s}/{p}/{o-uri}
/{sp}/graphs/wildcards/{s}/{p}/{o-type}/{o-value}
DELETE /{sp}/graphs/{g}
DELETE /{sp}/graphs/wildcards/{s}/{p}/{o-uri}
/{sp}/graphs/wildcards/{s}/{p}/{o-type}/{o-value}
Assessing data dissemination strategies Backup slides 52 / 57
53. XBee gateway platform
ConnectPort R X2 (XBee to IP
gateway)
RAM: 8MB
Platform version: Python 2.4
REST libraries: Python Std Lib
Semantic libraries: None
Assessing data dissemination strategies Backup slides 53 / 57
54. Case of study 1: XBee
We developed a restricted middleware version using Python
With more than 15 concurrent requests problems were
experienced
Assessing data dissemination strategies Backup slides 54 / 57
56. Case of study 2: FoxG20
Python implementation used
Because is lighter
Does not implement all the modules defined
This may be desirable for less powerful devices
Reasoning took a long time
TBox: x17 regular computer, x2 galaxy tab
ABox: x32 - x6 galaxy tab
⇓
should be limited to special occasions
Assessing data dissemination strategies Backup slides 56 / 57
57. All rights of images are reserved by the
original owners*, the rest of the content is licensed
under a Creative Commons by-sa 3.0 license.
* Kit (practicalowl), Stefan Paunovi´ , Amortize and Marco Crupi Digi
c
International Inc. and Acme systems.