Given the expected high number of accessible digitally augmented devices and their communication requirements, this paper presents our work on creating a Web-based infrastructure for smart things to facilitate the integration, look-up, and interaction with such devices for human users and machines. To exploit the locality of interactions with and between smart things, the proposed infrastructure treats the location of a smart thing as its main property and is therefore structured hierarchically according to logical place identifiers. We discuss the infrastructure's look-up mechanism that leverages Web patterns to foster scalability and load balancing and features an advanced caching mechanism that greatly reduces the response time and number of exchanged messages. These properties are demonstrated in an evaluation in a simulated smart environment.
Searching in a Web-based Infrastructure for Smart Things
1. Searching in a Web-based
Infrastructure for Smart Things
3rd Int. Conf. on the Internet of Things, Wuxi, China, 2012
Simon Mayer, Dominique Guinard, Vlad Trifa
Distributed Systems Group, ETH Zurich, simon.mayer@inf.ethz.ch
2. The Web of Things
+ Internet Connection
+ Embedded Web server
+ Resource-Oriented Modelling (REST)
J.W. Hui and D.E. Culler. IP is dead, long live IP for wireless sensor networks, 2008
10/26/2012 IoT 2012, Wuxi, China 2
3. Example: RESTful Sun SPOTs
Resources and Links between them
28.5
GET
Temperature Sensor: http://host/[SpotName]/sensors/temperature
LED Switch: http://host/[SpotName]/actuators/leds/3/switch
PUT ‘on’
OK
M. Kovatsch, S. Mayer, and B. Ostermaier. Towards the Thin Server Architecture for the Internet of Things, 2012
10/26/2012 IoT 2012, Wuxi, China 3
4. The Web of Things – Why?
Great for open, interoperable APIs
Greatly facilitates creation of mashups
Web features for free
Bookmark your devices and their functionality
Caching for scalability, security mechanisms
People are used to exploring the Web using a browser
Seems to facilitate application development
D. Guinard, I. Ion, S. Mayer. In Search of an Internet of Things Service Architecture: REST or WS-*? A Developer’s Perspective, 2011
10/26/2012 IoT 2012, Wuxi, China 4
5. The Web of Things – Why?
Great for open, interoperable APIs
Greatly facilitates creation of mashups
Web features for free
Bookmark your devices and their functionality
Caching for scalability, security mechanisms
People are used to exploring the Web using a browser
Seems to facilitate application development
D. Guinard, I. Ion, S. Mayer. In Search of an Internet of Things Service Architecture: REST or WS-*? A Developer’s Perspective, 2011
10/26/2012 IoT 2012, Wuxi, China 5
6. The Web of Things – Why?
REST and SOAP on devices with limited resources
Power Consumption [mW] Completion Time [s]
UDDI discontinued by IBM, Microsoft, SAP in 2006
Functionality removed from Windows Server in 2010 [derekskeba.com]
Google discontinued WS-* APIs in 2011
D. Yazar and A. Dunkels. Efficient Application Integration in IP-based Sensor Networks, 2009
10/26/2012 IoT 2012, Wuxi, China 6
7. The Web of Things – Community
WoT Workshop Series: webofthings.org/wot
2010 @ PerCom, Mannheim
2011 @ Pervasive, San Francisco
2012 @ Pervasive, Newcastle
Community blog, LinkedIn Group, Twitter, ...
12/21/2012 UbiRobots'12 Workshop, Pittsburgh, PA 7
8. A Web-based Infrastructure for Smart Things
Overview & Requirements
Increasing number of networked, smart devices
More and more human-thing and thing-thing interactions
Infrastructure to enable service discovery and
brokerage in smart spaces
Most frequent interaction with nearby devices:
Interactions exhibit locality
10/26/2012 IoT 2012, Wuxi, China 8
9. A Web-based Infrastructure for Smart Things
Overview & Requirements
Exploit Locality of Interactions
Scalability
Self-Management
User-friendliness
Open, easily usable APIs
10/26/2012 IoT 2012, Wuxi, China 9
10. To what extent can Web technologies and
patterns be applied in the design of a smart
things infrastructure?
11. A Web-based Infrastructure for Smart Things
Hierarchy of Management Nodes
Nodes are only aware of their direct neighbors
Nodes can be virtual or embodied (e.g., on routers or NAS)
10/26/2012 IoT 2012, Wuxi, China 11
12. A Web-based Infrastructure for Smart Things
Device Discovery & Registration
Device Discovery
Router is knowledgable of connected network devices
IP addresses exposed via OpenWRT + LuCi
Resource Discovery
Interpret any accessible information (e.g., location)
Multiple interpretation strategies
(e.g., for HTML Microdata)
Extensible at run time
S. Mayer and D. Guinard. An Extensible Discovery Service for Smart Things, 2011
10/26/2012 IoT 2012, Wuxi, China 12
13. A Web-based Infrastructure for Smart Things
Searching for Devices & Services – Query Types
Search within the current subtree
Exhaustive Query: Full subtree
Best-Effort Query: Until first hit
Cardinality Query: Until k hits
10/26/2012 IoT 2012, Wuxi, China 13
14. A Web-based Infrastructure for Smart Things
Searching for Devices & Services – Query Types
Search outside current subtree
Request For Query
10/26/2012 IoT 2012, Wuxi, China 14
15. A Web-based Infrastructure for Smart Things
Searching for Devices & Services – Query Handling
10/26/2012 IoT 2012, Wuxi, China 15
16. A Web-based Infrastructure for Smart Things
Searching for Devices & Services – Query Handling
10/26/2012 IoT 2012, Wuxi, China 16
17. A Web-based Infrastructure for Smart Things
Searching for Devices & Services – Query Handling
.../Floor5/queries/{queryID}
- Query representation
- # received answers
Floor5/ - Pending nodes
501/ 502/
10/26/2012 IoT 2012, Wuxi, China 17
18. A Web-based Infrastructure for Smart Things
Searching for Devices & Services – Query Caching
.../Floor5/queries/{queryID}
- Query representation
- # received answers
Floor5/ - Pending nodes
501/ 502/
10/26/2012 IoT 2012, Wuxi, China 18
19. Simulation Environment
9 Nodes, 600 sensors registered to room-level nodes
4 query types, 1000 queries each, varying concurrency
Strong decrease of answering time with increasing
concurrency level CAQ (30) CAQ (200)
BEQ EXQ
Query Caching works!
10/26/2012 IoT 2012, Wuxi, China 19
20. A Web-based Infrastructure for Smart Things
Searching for Devices & Services – Automatic Load Balancing
.../Floor5/queries/{queryID}
- Query representation
- # received answers
Floor5/ - Pending nodes
501/ BEQ 502/
10/26/2012 IoT 2012, Wuxi, China 20
21. Simulation Environment
9 Nodes, 600 sensors registered to room-level nodes
BEQs to /MainBuilding
Baseline: > 90% of answers from /Floor5
Flooding of /Floor5: > 96% of answers from /Floor6
Load Balancing works!
10/26/2012 IoT 2012, Wuxi, China 21
22. Conclusions
Web patterns to create a smart things infrastructure
“All you need is HTTP”?!
“Resource-oriented Querying” scales, reduces
response time, and enables automatic load balancing
10/26/2012 IoT 2012, Wuxi, China 22
23. Future Work
Integrate with relative indoor localization system
Extend resources with semantic descriptions for M2M
service provisioning
Enhance current keyword-based searching
mechanism
10/26/2012 IoT 2012, Wuxi, China 23