DNS-SD Extentions

26
Extending service discovery protocols with support for context information Student Nina Buchina Supervisor Pieter J.L. Cuijpers Tutor Milosh Stolikj

description

A master's presentation. The problems of DNS-SD protocol with context-orented applications, and the ways of solving them.

Transcript of DNS-SD Extentions

Page 1: DNS-SD Extentions

Extending service discovery

protocols with support for

context informationStudent Nina Buchina

Supervisor Pieter J.L. Cuijpers

Tutor Milosh Stolikj

Page 2: DNS-SD Extentions

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

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

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

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

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

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

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

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

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

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

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

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

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

/ name of department PAGE 1419-11-2014

Query:room10a&FullBattery||room2

• Stored records:

Page 16: DNS-SD Extentions

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

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

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

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

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

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

Evaluation results

PAGE 2119-11-2014

Page 23: DNS-SD Extentions

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

Results

• Concept of Context tags

• 4 naming schemes

• Quantitative evaluation over 5 criteria

• Implementation

PAGE 2319-11-2014

Page 25: DNS-SD Extentions

Q&A

PAGE 2419-11-2014

Page 26: DNS-SD Extentions

PAGE 2519-11-2014