Post on 02-Jul-2015
description
Extending service discovery
protocols with support for
context informationStudent Nina Buchina
Supervisor Pieter J.L. Cuijpers
Tutor Milosh Stolikj
Setup
• Wireless sensor network (WSN)
• Resource constrained sensors
• Service-oriented architecture
• Applicaton = set of interacting services
• Services are isolated and interchangeable
• One service per WSN node
• Automatic service discovery
• Multicast messages
• Network operations drain nodes batteries
PAGE 119-11-2014
Setup
• Wireless sensor network (WSN)
• Resource constrained sensors
• Service-oriented architecture
• Applicaton = set of interacting services
• Services are isolated and interchangeable
• One service per WSN node
• Automatic service discovery
• Multicast messages
• Network operations drain nodes batteries
PAGE 219-11-2014
DNS (Domain Name System)
• Record types: A, MX, PTR, SRV…
• PTR: Name PTR OtherName
• SRV: Name SRV ServiceAddress
PAGE 319-11-2014
DNS-SD (DNS based Service Discovery)
_type._protocol.domain PTR ServiceName._type._protocol.domain
ServiceName._type._protocol.domain SRV service.domain:port
PAGE 419-11-2014
DNS-SD (DNS based Service Discovery)
_type._protocol.domain PTR ServiceName._type._protocol.domain
ServiceName._type._protocol.domain SRV service.domain:port
PAGE 519-11-2014
DNS-SD (DNS based Service Discovery)
_type._protocol.domain PTR ServiceName._type._protocol.domain
ServiceName._type._protocol.domain SRV service.domain:port
PAGE 619-11-2014
DNS-SD (DNS based Service Discovery)
_type._protocol.domain PTR ServiceName._type._protocol.domain
ServiceName._type._protocol.domain SRV service.domain:port
PAGE 719-11-2014
Problem with DNS-SD
• _type._protocol.domain PTR ServiceName._type._protocol.domain
• Three search parameters:
• Service type
• Protocol
• Domain
• Many similar services => Many responses =>
Large network load
PAGE 819-11-2014
Goal
• Extend the list of discovery parameters
• Better filtration
• Less responses and decreased network load
• New discovery parameters: services context
• Keep all the changes compatible with DNS-SD
• Wide spread protocol
• Backward compatibility
PAGE 919-11-2014
Context tags
• How to express the context?• Example: a service for a node with full battery in room 10a
• How to express client’s query?• Example: need a node with full battery in room 10a
PAGE 1019-11-2014
Context tags
• How to express the context?• Example: a service for a node with full battery in room 10a
• How to express client’s query?• Example: need a node with full battery in room 10a
fullBattery & room10a
PAGE 1119-11-2014
Naming schemes
• How to encode in DNS:
• Service has tags room10a, floor6;
• Client needs services with room10a & fullBattery
?
PAGE 1219-11-2014
Naming schemes
• How to encode in DNS:
• Service has tags room10a, floor6;
• Client needs services with room10a & fullBattery
?
• In several possible ways!
• Formula in PTR
• Tag to PTR
• Conjunctions in PTR
• Nested combinations
PAGE 1319-11-2014
/ name of department PAGE 1419-11-2014
Query:room10a&FullBattery||room2
• Stored records:
Formula in PTR
Query:room10a&FullBattery||room2
• Stored records:None
PAGE 1519-11-2014
room10a*fullBattery.room2 PTR?
room10a*fullBattery.room2 PTR Service1
room10a*fullBattery.room2 PTR Service2
Tag to PTR
Query:room10a&FullBattery||room2
Stored records:room10a PTR Service1
fullBattery PTR Service1
room2 PTR Service2
PAGE 1619-11-2014
room10a PTR?
fullBattery PTR?
room2 PTR?
room10a PTR Service1
fullBattery PTR Service1
room2 PTR Service2
Conjunctions in PTR
Query:room10a&FullBattery||room2
• Stored records:fullBattery.room10a PTR Service1
room10a PTR Service1
fullBattery PTR Service1
room2 PTR Service2
PAGE 1719-11-2014
fullBattery.room10a PTR?
room2 PTR?
fullBattery.room10a PTR Service1
room2 PTR Service2
Nested tags combinations
Query:room10a&FullBattery||room2
• Stored records:fullBattery.room10a PTR Service1
room10a PTR fullBattery.room10a
fullBattery PTR fullBattery.room10a
room2 PTR Service2
PAGE 1819-11-2014
fullBattery.room10a PTR?
room2 PTR?
fullBattery.room10a PTR Service1
room2 PTR Service2
Naming schemes
• How to express in DNS:
• Service has tags room10a, floor6;
• Client needs services with room10a & fullBattery
• In several possible ways!
• Formula in PTR The whole query in one domain name
• Tag to PTR One tag – one PTR record
• Conjunctions in PTR One conjunction – one PTR record
• Nested combinations PTR points to full context of service
PAGE 1919-11-2014
Quantitative evaluation
• Criteria:
• Network load (Number of DNS messages, size of messages)
• Memory for context
• Maximum number of tags per service
• Additional operations
• Amount of supportive code (COSMIC)
PAGE 2019-11-2014
Evaluation results
PAGE 2119-11-2014
Implementation
• Base: JmDNS
• A Java library for DNS-SD
• Extensions:
• Naming schemes
• Publishing of service with context tags
• Discovering a service with Boolean expressions
• Published at: http://dnssdext.net
PAGE 2219-11-2014
Results
• Concept of Context tags
• 4 naming schemes
• Quantitative evaluation over 5 criteria
• Implementation
PAGE 2319-11-2014
Q&A
PAGE 2419-11-2014
PAGE 2519-11-2014