discowot - extensible discovery for smart things

Post on 18-Dec-2014

1.506 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

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

Simon Mayer [simon.mayer@inf.ethz.ch]

Distributed Systems Group, ETH Zurich

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)

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)

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

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)

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)

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)

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)

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)

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

DiscoWoT: Discovery Process

Sunday, 12.06.2010

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

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)

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)

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)

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)

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)

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

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

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

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>...</>

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)

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

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)

Thank you for your attention!

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

top related