Re: [discovery-api] Consolidated comments and questions

Jean-Claude Dufourd wrote:
> A related question: section 6.2 says " */whether the service is
> reporting itself as being either online [...] or offline/*".
> In my understanding of the word "offline", the service cannot report
> itself as "offline". That would be a contradiction.
> So your definition of "offline" is different than mine.
> Can you please clarify this ?

I've removed /reporting itself as being either/ from this sentence in 
the spec.

>
> And also, my question about polling boils down to: what is the practical
> difference between "available" and "online" ?

'available' means that the service is present on the local network but 
not yet shared with any web page.

'online' means the the service is present on the local network and 
shared with a web page.

We settled on these terms for lack of a better naming suggestion.

>
> Available is something that UPnP or Bonjour report with various degrees
> of reliability in my practical experience:
> - available is reported by UPnP quickly.
> - unavailable is reported by UPnP relatively quickly, with some
> occasional long delays.
> - available is reported by Bonjour relatively quickly.
> - unavailable is reported by Bonjour after a few seconds of delay (3 to
> 5s).
> So this is not so usable, but very clear in terms of implementation: the
> underlying libraries report "service added" or "resolved" for
> availability, and "service removed" for unavailability.
>
> What is "online" ? A response to ping is characteristic of the device,
> not of the service.
> Is there anything standard in Bonjour and UPnP that can be used as a
> test of online-ness ?

'online' is a concept specific to this specification when a 
NetworkService object is provided to a web page. At that point the 
service is either online or offline for that web page to interact with.

> Should the implementation poll for that ?
> Should the online attribute and events not be optional (SHOULD or MAY,
> rather that MUST now) ?

There is some use to receiving these events for a web page. There is the 
option for the web page to check the online-ness of a shared 
NetworkService object by querying its .url attribute via an e.g. XHR 
call. If that fails with a 4XX then they may be able to assume that the 
service is no longer responding and hence offline.

Since we're aware of general registration/deregitration/expiry of 
Local-networked Services in the network at the underlying implementation 
level we provide any status updates we can through the 'online' 
attribute of the corresponding NetworkService object as a convenience 
feature.

> If it is too similar to "available", should it not be removed altogether ?

It seems there's enough of a difference to warrant both events. One is a 
generic notifier of the state of the network relating the requested 
service types fired against NetworkServices. The other is a specific 
notifier of the state of the service fired against its corresponding 
NetworkService object.

Thanks,

Rich

Received on Friday, 8 February 2013 14:27:53 UTC