Subject: [core] Long-lived queries towards RD

From: Thomas Fossati <[email-masked]>
Date: Tue, 15 Nov 2011 11:31:43 +0100

Hello Zach and Kerry, still rambling about the DNS-SD / RD interaction...

And I was wondering whether it'd be feasible to provide a native mechanism to RD that, via Observe, could mimic the semantics of the long-lived queries that we have in DNS-SD.

This feature would be particularly nice to have for implementing an efficient DNS<->RD synchronization agent, and more generally to any RD replication (be it partial or total), or service "popup" monitoring mechanism -- e.g. for automatic failover of a given (critical) service.

---

From: Zach Shelby <[email-masked]>
Date: Wed, 16 Nov 2011 00:02:49 +0800

> This feature would be particularly nice to have for implementing an efficient DNS<->RD synchronization agent, and more generally to any RD replication (be it partial or total), or service "popup" m…

Sounds like you want to monitor the RD lookup interface for any kinds of changes, and then use CoAP observe to get a notification when anything changes, right? I agree that would be useful for lots of things. 

Zach

-- 
Zach Shelby, Chief Nerd, Sensinode Ltd.
http://www.sensinode.com
http://zachshelby.org  - My blog "On the Internet of Things"
http://6lowpan.net - My book "6LoWPAN: The Wireless Embedded Internet"
Mobile: +358 40 7796297

---

From: Thomas Fossati <[email-masked]>
Date: Tue, 15 Nov 2011 18:58:24 +0100

On Nov 15, 2011, at 5:02 PM, Zach Shelby wrote:
> Sounds like you want to monitor the RD lookup interface for any kinds of changes, and then use CoAP observe to get a notification when anything changes, right?

Exactly.

What I'd like to have in RD is a "permanent" lookup interface, i.e. an RD link that I can observe, which corresponds to a given query (e.g. "monitor all changes related to 'exp' resources", or "monitor all thermometers available in the area", etc.)  When a registration/update/deletion compatible to my query is triggered on the RD, I get notified.

Something like:
 
    DNS-sync                    RD
      |                         |
      |      GET /rd?exp        |
      |       Observe: 0        |                        node
      +------------------------>|                         |
           ....                    POST /rd "</temp>;exp" |
      |                         |<------------------------+
      |  add <coap://node/temp> |                         |
      |<------------------------+                         |

---

From: Zach Shelby <[email-masked]>
Date: Wed, 16 Nov 2011 10:27:30 +0800

> What I'd like to have in RD is a "permanent" lookup interface, i.e. an RD link that I can observe, which corresponds to a given query (e.g. "monitor all changes related to 'exp' resources", or "mon…

That is exactly what Observe does already. Looks like the RD lookup interface just needs some more sophistication in the kinds of lookups that can be made, and text that says the /rd resource SHOULD be observable. I will add that for the next version of the draft. 

Zach

---

From: Thomas Fossati <[email-masked]>
Date: Wed, 16 Nov 2011 08:43:00 +0100

On Nov 16, 2011, at 3:27 AM, Zach Shelby wrote:
> That is exactly what Observe does already.

Yes, it seems like a fairly natural welding.

> Looks like the RD lookup interface just needs some more sophistication in the kinds of lookups that can be made, and text that says the /rd resource SHOULD be observable. I will add that for the next version of the draft.

Excellent, thanks.