trendy presentation-wo t-2012
TRANSCRIPT
Loughborough University
1
TRENDY: Adaptive and Context-AwareService Discovery Protocol for 6LoWPANs
Talal Ashraf Butt, Dr. Iain Phillips, Dr. Lin Guan, Dr. George Oikomonou
2
Overview• WoT vision and Role of Service Discovery (SD)• WoT SD Requirements• Our proposed solution: TRENDY• Experiments and results• Future Work
3
Web of Things (WoT)How to make application-specific WSNs to be
active part of the web?
6LoWPAN Internet of Things
Service discovery
Web Services
Discoverability
Interoperability
Web of Things
4
Role of Service Discovery
RouterUser 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
limitedPacket
Size
limitedBandwidth
ProtocolsSleepingNodes
Limited ROM and RAM
Bulkyformats
PULL-based
Compact version for 6LoWPAN
TranslationOverhead
Architecture
6LoWPAN constraints Heavy Dependencies
6
WoT: SD Requirements
6LoWPAN General
Compact
Size
Sleep
Cycles
Heterogeneity
Scalability
Efficiency
Service
Selection
Requirements
Interoperability
Compact
packets
Service
Composition
Requirements
7
TRENDY SD Protocol
CoAP Based
Restful Web services
CoAP Based
Restful Web services
AdaptivityAdaptivity
TRENDY: An Adaptive and Context-Aware Service Discovery Protocol for 6LoWPANs
GroupingGrouping Service Composition
Service Composition
ContextAwareness
ContextAwareness
8
Service Description• Very simple at registration time (Comma
separated URLs)• Optional: Detailed IETF CoRE well-
known descriptions
9
Context awareness
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
10
Context awareness
DAUser Agent (UA)
I need temperature service in H room
of x building
H room
Service Selection
Two Options:Select the one with1. Hit count (Popularity)2. Less battery consumed3. More reliable
11
Discovery Query Options
DAUser Agent
(UA)
I need temperature service in H room
of x building
H roomUsing URI-query with:1. Keyword2. Keyword and location3. 1 or 2 with select the optimal option
URL(s) and IP address(es) of matched service(s)
12
Status maintenance
DA
GM4GM2
GM6
Interval = 412
Interval = 431
Interval = 521
Interval = 501
Basic Time window = 600GL1 = ActiveGM1 = ActiveGM2 = ActiveGM3 = Active
GM1
GM3
GM5
Interval = 511Interval = 476
o Static intervalo Multihop effect
Every node randomly selects a interval between 50 and 90% of time window for status updates
13
Adaptive timer
DA
GM4GM2
GM6
Interval = 512*2
Interval = 531*2
Interval = 521*2
Interval = 501*2
Basic Time window = 600GM1 timer counter = 2GM2 timer counter = 2GM3 timer counter = 3GM4 timer counter = 2GM5 timer counter = 3GM6 timer counter = 2
GM1
GM3
GM5
Interval = 411*3Interval = 476*3
14
Benefit: Adaptive Timer
Increasesstatus
maintenance interval
DecreasesControl
Overhead
15
Grouping
DA
GL1
GM2GM1
GM3
Interval = 412
Interval = 431 Interval = 521
Interval = 501
Basic Time window = 600GL1 = ActiveGM1 = ActiveGM2 = ActiveGM3 = Active
Implements GL CoAP resource
16
Grouping
DA
GL1
GM2GM1
GM3
Interval = 412
Interval = 431 Interval = 521
Interval = 501
Basic Time window = 600GL1 = Active
GM1 = GM of GL1
GM2 = GM of GL1
GM3 = Active
17
Multiple available GLs
DA
GL1
GM2GM1
GM3Interval = 412
Interval = 431Interval = 521
Interval = 501
Basic Time window = 600GL1 = ActiveGM1 = ActiveGM2 = ActiveGM3 = Active
GL2
Interval = 476
18
Optimal GL Selection• 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)
19
ArchitectureDA
GL
GM
GM
GM GM
GM
GL
GMGM
GMGM
GM
Area: INB01 Area: JKF01
20
Adaptive Timer: Grouping
DA
GL1
GM2GM1
GM3
Interval = 412*3
Interval = 431*3 Interval = 521*3
Interval = 501*2
Basic Time window = 600GL1 timer counter = 3
GM1 timer counter = GM GM2 timer counter = GM GM3 timer counter = 2
Group Members report to corresponding Group Leaders
21
Benefits: Grouping
Based ontheir
locations
EnableService
Composition
Group nodes
ReducesRegistry
load
22
Experiments SetupDA
• 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
23
Results
Method Control Packets Energy (J)
BASIC 810 62.08
TRENDY TIMER 163 61.27
TRENDY FULL 297 60.13
24
Future Work
Intelligent Timer (e.g. trickle) Publish/Subscribe
AdaptivityGrouping
ProxyScope
Large-scale
Load balancing More responsible GLs
Caching Interoperability
Service
composition
Loughborough University
25
Questions?Thank you