Upload
talal-butt
View
970
Download
1
Tags:
Embed Size (px)
DESCRIPTION
We propose, trendy, a new registry-based Service Discovery protocol with context awareness. It uses CoAP-based RESTful web services to provide a standard interoperable interface which can be easily translated from HTTP. In addition, trendy introduces an adaptive timer and grouping mechanism to minimise control overhead and energy consumption. Trendy ’s grouping is based on location tags to localise status maintenance traffic and to compose and offer new group based services. Our simulation results show that trendy techniques reduce the control traffic considerably and also reduce the energy consumption, while offering the optimal service selection.
Citation preview
Loughborough University
TRENDY: Adaptive
and Context-Aware
Service Discovery
Protocol for 6LoWPANs
1
Talal Ashraf Butt, Dr. Iain Phillips,
Dr. Lin Guan, Dr. George Oikomonou
Overview
2
• WoT vision and Role of Service Discovery (SD)
• WoT SD Requirements
• Our proposed solution: TRENDY
• Experiments and results
• Future Work
Web of Things (WoT) How to make application-specific WSNs to be
active part of the web?
3
6LoWPAN Internet of Things
Service discovery
Web Services
Discoverability
Interoperability
Web of Things
Role of Service Discovery
4
Router User Agent
(UA)
I need * service
• Switch off the lights in corridor of x building
• Give me the overall temperature of x building
• Close all the windows when its windy
• Close all the windows when no one in the room
• If rooms temperature is below x and someone in the room
Then Switch on the heating and close the windows
Existing Solutions: Gaps
5
limited
Packet
Size
limited
Bandwidth
Protocols Sleeping
Nodes
Limited
ROM and RAM
Bulky
formats
PULL-based
Compact version for 6LoWPAN
Translation
Overhead
Architecture
6LoWPAN constraints Heavy Dependencies
WoT: SD Requirements
6LoWPAN General
Compact
Size
Sleep
Cycles
Heterogeneity
Scalability
Efficiency
Service
Selection
Requirements
Interoperability
Compact
packets
Service
Composition
Requirements
6
TRENDY SD Protocol
CoAP
Based
Restful
Web services
Adaptivity
TRENDY: An Adaptive and Context-Aware Service
Discovery Protocol for 6LoWPANs
Grouping Service
Composition
7
Context
Awareness
Service Description
8
• Very simple at registration time (Comma
separated URLs)
• Optional: Detailed IETF CoRE well-
known descriptions
Context awareness
9
Directory Agent
(DA)
User Agent
(UA)
I need * service in * place
• Switch off the lights in corridor of x building
• Give me the overall temperature of x building
• Close all the windows when its windy
• Close all the windows when no one in the room
• If rooms temperature is below x and someone in the room
Then Switch on the heating and close the windows
Location based tags
Context awareness
10
DA User Agent
(UA)
I need temperature service
in H room
of x building
H room
Service Selection
Two Options:
Select the one with
1. Hit count (Popularity)
2. Less battery consumed
3. More reliable
Discovery Query Options
11
DA User Agent
(UA)
I need temperature service
in H room
of x building
H room Using URI-query with:
1. Keyword
2. Keyword and location
3. 1 or 2 with select the optimal option
URL(s) and IP address(es)
of matched service(s)
Status maintenance
12
DA
GM4 GM2
GM6
Interval = 412
Interval = 431
Interval = 521
Interval = 501
Basic Time window = 600
GL1 = Active
GM1 = Active
GM2 = Active
GM3 = Active
GM1
GM3 GM5
Interval = 511 Interval = 476
o Static interval o Multihop effect
Every node randomly selects
a interval between 50 and 90% of time window for status updates
Adaptive timer
13
DA
GM4 GM2
GM6
Interval = 512*2
Interval = 531*2
Interval = 521*2
Interval = 501*2
Basic Time window = 600
GM1 timer counter = 2
GM2 timer counter = 2
GM3 timer counter = 3
GM4 timer counter = 2
GM5 timer counter = 3
GM6 timer counter = 2
GM1
GM3 GM5
Interval = 411*3 Interval = 476*3
Benefit: Adaptive Timer
Increases
status
maintenance
interval
Decreases
Control
Overhead
14
Grouping
15
DA
GL1
GM2 GM1
GM3 Interval = 412
Interval = 431 Interval = 521
Interval = 501
Basic Time window = 600
GL1 = Active
GM1 = Active
GM2 = Active
GM3 = Active
Implements GL
CoAP resource
Grouping
16
DA
GL1
GM2 GM1
GM3
Interval = 412
Interval = 431 Interval = 521
Interval = 501
Basic Time window = 600
GL1 = Active
GM1 = GM of GL1
GM2 = GM of GL1
GM3 = Active
Multiple available GLs
17
DA
GL1
GM2 GM1
GM3 Interval = 412
Interval = 431 Interval = 521
Interval = 501
Basic Time window = 600
GL1 = Active
GM1 = Active
GM2 = Active
GM3 = Active
GL2
Interval = 476
Optimal GL Selection
18
• If multiple GLs available
• Select one with high rank
Rank = st + nGM - f - (b/1000)
st
(serving time)
nGM
(number of
registered GMs)
f
(number of failures)
b
(battery consumption)
Architecture
19
DA
GL
GM
GM
GM GM
GM
GL
GM GM
GM GM
GM
Area: INB01 Area: JKF01
Adaptive Timer: Grouping
20
DA
GL1
GM2 GM1
GM3
Interval = 412*3
Interval = 431*3 Interval = 521*3
Interval = 501*2
Basic Time window = 600
GL1 timer counter = 3
GM1 timer counter = GM
GM2 timer counter = GM
GM3 timer counter = 2
Group Members report to
corresponding Group Leaders
Benefits: Grouping
Based on
their
locations
Enable
Service
Composition
Group
nodes
Reduces
Registry
load
21
Experiments Setup
22
DA • Linux process
• Java based CoAP Implementation
COOJA: Simulator
GL
GM
• CONTIKI (OS)
• CSMA (MAC)
• CONTIKIMAC (Duty cycling)
• ENERGEST (Energy estimation)
• C-based CoAP Implementation
25 Tmote sky nodes (+1 border router)
with 10 runs for 100 minutes
Results
23
Method Control
Packets Energy (J)
BASIC 810 62.08
TRENDY TIMER 163 61.27
TRENDY FULL 297 60.13
Future Work
Intelligent Timer (e.g. trickle)
Publish/Subscribe
Adaptivity Grouping
Proxy Scope
Large-scale
Load balancing
More responsible GLs
Caching
Interoperability
Service composition
24
Loughborough University
Questions? T h a n k y o u
25