discowot - extensible discovery for smart things

24
An Extensible Discovery Service for Smart Things Mayer, S. and Guinard, D. 2011, 2 nd international Workshop on the Web of Things Simon Mayer [[email protected]] Distributed Systems Group, ETH Zurich

Upload: simon-mayer

Post on 18-Dec-2014

1.506 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: DiscoWoT - Extensible Discovery for Smart Things

An Extensible Discovery Service for Smart Things Mayer, S. and Guinard, D. 2011, 2nd international Workshop on the Web of Things

Simon Mayer [[email protected]]

Distributed Systems Group, ETH Zurich

Page 2: DiscoWoT - Extensible Discovery for Smart Things

Environments of smart things...

Forecast: Rain

Temperature: 24˚C Please configure

forecast data source

Your fridge currently

consumes 45W

I’m located in Zurich!

Human-readable and understandable

Sunday, 12.06.2010

2 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 3: DiscoWoT - Extensible Discovery for Smart Things

Environments of smart things...

Forecast: Rain

Temperature: 24˚C Please configure

forecast data source

Your fridge currently

consumes 45W

I’m located in Zurich!

What about machines?

Sunday, 12.06.2010

3 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 4: DiscoWoT - Extensible Discovery for Smart Things

Temperature: 24˚C

I’m located in Zurich!

Semantic annotation of smart things...

{“data”:[{“weather-

forecast”:”Rain”}],

“name”:”MyNabaztag”}

…<div itemscope><div

itemprop=“tag=“>Illumination</div><div

itemprop=“value”>150</div></div>…

...

<div class="geo">GEO: <span

class="latitude">8.549902</span>,

<span class="longitude">-

47.378088</span></span></div>

{“consumption”:”45”,

“unit”:”Watts”,

“appliance”:”fridge”}

Sunday, 12.06.2010

4 2nd International Workshop on the Web of Things, San Francisco (CA)

Machine-readable

Page 5: DiscoWoT - Extensible Discovery for Smart Things

Semantic annotation of smart things...

{“data”:[{“weather-

forecast”:”Rain”}],

“name”:”MyNabaztag”}

…<div itemscope><div

itemprop=“tag=“>Illumination</div><div

itemprop=“value”>150</div></div>…

...

<div class="geo">GEO: <span

class="latitude">8.549902</span>,

<span class="longitude">-

47.378088</span></span></div>

Content type: application/json

Content type: text/html

Annotations: Microdata

Content type: text/html

Annotations: Microformats

{“consumption”:”45”,

“unit”:”Watts”,

“appliance”:”fridge”}

Content type:

application/json

Every smart device capable of

parsing every single format...?

Sunday, 12.06.2010

5 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 6: DiscoWoT - Extensible Discovery for Smart Things

Content type:

application/json

And it gets worse...

{“data”:[{“weather-forecast”:”Rain”}],

“name”:”MyNabaztag”}

Imagine we agreed on everybody using application/json...

{“data”:{“weather-forecast”:”Rain”},

“name”:”MyNabaztag”}

{“data-item”:[{“weather-forecast”:”Rain”}],

“name”:”MyNabaztag”}

Different syntax

Different formatting

Sunday, 12.06.2010

6 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 7: DiscoWoT - Extensible Discovery for Smart Things

A single, agreed upon,

standard format

Options for semantically annotating smart things

Or multiple (but few!) formats

Problem of different syntax

Probably not feasible...

Sunday, 12.06.2010

7 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 8: DiscoWoT - Extensible Discovery for Smart Things

Different Syntax: OK!

A method to understand

multiple different formats

Options for semantically annotating smart things

Future formats?

Sunday, 12.06.2010

8 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 9: DiscoWoT - Extensible Discovery for Smart Things

Different Syntax: OK!

An extensible method to

understand multiple

different formats

Options for semantically annotating smart things

Future formats: OK!

Sunday, 12.06.2010

9 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 10: DiscoWoT - Extensible Discovery for Smart Things

Given the representation of a (Web) resource, extract interesting information about that resource regardless of the annotation format used

Goal

Sunday, 12.06.2010

10 2nd International Workshop on the Web of Things, San Francisco (CA)

Discovery based on Strategies (e.g. Microformats-Strategy)

Users can create, extend (and delete) Strategies at runtime!

Approach

Page 11: DiscoWoT - Extensible Discovery for Smart Things

DiscoWoT: Discovery Process

Sunday, 12.06.2010

11 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 12: DiscoWoT - Extensible Discovery for Smart Things

DiscoWoT: Discovery Process (1)

Client knows resource’s URL: http://.../Sensor

Requests a resource description at DiscoWoT’s /analyze endpoint

GET /analyze?http://.../Sensor

Sunday, 12.06.2010 12 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 13: DiscoWoT - Extensible Discovery for Smart Things

DiscoWoT: Discovery Process (2)

DiscoWoT fetches resource representation

Extraction of strategy input parameters

Sunday, 12.06.2010 13 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 14: DiscoWoT - Extensible Discovery for Smart Things

DiscoWoT: Discovery Process (3)

DiscoWoT applies registered strategies to the resource representation

Sunday, 12.06.2010 14 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 15: DiscoWoT - Extensible Discovery for Smart Things

DiscoWoT: Discovery Process (4)

If multiple strategies can map the representation, the resulting resource

descriptions are fused

The resulting resource description is returned

{“services”:{“unit”:”ºC”,…},…}

Sunday, 12.06.2010 15 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 16: DiscoWoT - Extensible Discovery for Smart Things

DiscoWoT: Discovery Process

How to access resources behind firewalls/protected resources

Sunday, 12.06.2010 16 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 17: DiscoWoT - Extensible Discovery for Smart Things

The DiscoWoT Project – Flexibility

Apply every strategy to all information accessible about submitted data

Allows to handle resources behind firewalls and protected resources!

Client should not send URL but rather send contents at that URL

Is Token a URL?

→ Try to fetch the content at its location!

→ Apply strategies to this content!

Is it text/html or application/json?

→ Apply strategies to Token itself

Sunday, 12.06.2010 17 2nd International Workshop on the Web of Things, San Francisco (CA)

GET /analyze?Token

Page 18: DiscoWoT - Extensible Discovery for Smart Things

The DiscoWoT Project – Extensibility (1)

Users inject a new strategy by POSTing to the /strategies

endpoint

Users add a mapping to a strategy by POSTing to the /strategies/{strategyID} endpoint

Sunday, 12.06.2010 18 2nd International Workshop on the Web of Things, San Francisco (CA)

POST /strategies NewStrategy.java

POST /strategies/NewStrategy mapping

Page 19: DiscoWoT - Extensible Discovery for Smart Things

The DiscoWoT Project – Extensibility (1)

Strategy?

→ Basically parsers for different formats

→ Implement the DiscoveryStrategy interface

→ e.g. MicrodataStrategy

Mapping?

→ Maps to interpret parsed values

→ Multiple mappings per strategy

→ e.g. (“my_location” → “geo”)

Sunday, 12.06.2010 19 2nd International Workshop on the Web of Things, San Francisco (CA)

POST /strategies NewStrategy.java

POST /strategies/NewStrategy mapping

Page 20: DiscoWoT - Extensible Discovery for Smart Things

The DiscoWoT Project – Extensibility (2)

Registration by sending an OpenSearch Document

Mighty Google as a fallback mechanism...

Allows to easily federate multiple DiscoWoT instances

Sunday, 12.06.2010 20 2nd International Workshop on the Web of Things, San Francisco (CA)

POST /strategies/ <OpenSearch>...</>

Page 21: DiscoWoT - Extensible Discovery for Smart Things

Conclusions

An extensible discovery service for smart things

Based on multiple discovery strategies

No problems with firewalls/access restrictions

REST from tip to toe

Sunday, 12.06.2010 21 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 22: DiscoWoT - Extensible Discovery for Smart Things

Conclusions

Sunday, 12.06.2010 22 2nd International Workshop on the Web of Things, San Francisco (CA)

A great help for

decoupling service

providers and consumers

Experience

Page 23: DiscoWoT - Extensible Discovery for Smart Things

Announcement

AutoWoT project now Open Source!

Check out http://code.google.com/p/autowot

Woohooo!

Facilitating the Integration and Interaction of Real-World Services for the Web of Things (Mayer S., Guinard D., Trifa V.)

Upgrading Autowot (Barthels C., Bachelor’s Thesis)

Sunday, 12.06.2010 23 2nd International Workshop on the Web of Things, San Francisco (CA)

Page 24: DiscoWoT - Extensible Discovery for Smart Things

Thank you for your attention!

Sunday, 12.06.2010 24 2nd International Workshop on the Web of Things, San Francisco (CA)