dns-sd extentions
DESCRIPTION
A master's presentation. The problems of DNS-SD protocol with context-orented applications, and the ways of solving them.TRANSCRIPT
![Page 1: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/1.jpg)
Extending service discovery
protocols with support for
context informationStudent Nina Buchina
Supervisor Pieter J.L. Cuijpers
Tutor Milosh Stolikj
![Page 2: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/2.jpg)
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
![Page 3: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/3.jpg)
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
![Page 4: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/4.jpg)
DNS (Domain Name System)
• Record types: A, MX, PTR, SRV…
• PTR: Name PTR OtherName
• SRV: Name SRV ServiceAddress
PAGE 319-11-2014
![Page 5: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/5.jpg)
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
![Page 6: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/6.jpg)
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
![Page 7: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/7.jpg)
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
![Page 8: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/8.jpg)
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
![Page 9: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/9.jpg)
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
![Page 10: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/10.jpg)
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
![Page 11: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/11.jpg)
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
![Page 12: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/12.jpg)
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
![Page 13: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/13.jpg)
Naming schemes
• How to encode in DNS:
• Service has tags room10a, floor6;
• Client needs services with room10a & fullBattery
?
PAGE 1219-11-2014
![Page 14: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/14.jpg)
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
![Page 15: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/15.jpg)
/ name of department PAGE 1419-11-2014
Query:room10a&FullBattery||room2
• Stored records:
![Page 16: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/16.jpg)
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
![Page 17: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/17.jpg)
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
![Page 18: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/18.jpg)
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
![Page 19: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/19.jpg)
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
![Page 20: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/20.jpg)
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
![Page 21: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/21.jpg)
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
![Page 22: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/22.jpg)
Evaluation results
PAGE 2119-11-2014
![Page 23: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/23.jpg)
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
![Page 24: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/24.jpg)
Results
• Concept of Context tags
• 4 naming schemes
• Quantitative evaluation over 5 criteria
• Implementation
PAGE 2319-11-2014
![Page 25: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/25.jpg)
Q&A
PAGE 2419-11-2014
![Page 26: DNS-SD Extentions](https://reader031.vdocuments.net/reader031/viewer/2022020207/559445171a28abf32f8b480f/html5/thumbnails/26.jpg)
PAGE 2519-11-2014