ISSUE-131: Support UPnP device discovery by Device Type?

Support UPnP device discovery by Device Type?

State:
CLOSED
Product:
Network Service Discovery
Raised by:
Frederick Hirsch
Opened on:
2013-07-09
Description:
from email: http://lists.w3.org/Archives/Public/public-device-apis/2013Mar/0013.html

There has been on and off discussion on whether the discovery API should
support UPnP device discovery by device type. See e.g. [1], [2], [3]. At the
March 6 DAP call we had consensus to explore supporting UPnP devices in the
discovery API, and I agreed to take a deeper look at the implications of such
a change and make a proposal. Below are some key findings that I think are
worth discussing.

The first thing is I'd assume that we want to continue supporting searching
for individual UPnP services, in addition to searching for UPnP devices which
contain UPnP services. By this I mean that a web app would continue to be able
to search for say a ContentDirectory service and obtain a NetworkService
object that represents the service, regardless of what UPnP device that
service resides in. In addition to that, a web app would also be able to
search for a say MediaServer device and obtain an object that represents the
UPnP device, which in turn contains a ContentDirectory service. I believe this
is important as there are "add-on" UPnP services that are not tied to any
particular device types. Besides, the flexibility may come in handy for some
web app developers.

The biggest impact in adding UPnP device level support is on the object model.
The NetworkService interface currently consists of the following attributes:
* id
* name
* type
* url
* config
* online
and the following event handlers
* onserviceonline
* onserviceoffline
* onnotify

While this works well for both mDNS and individual UPnP services (and DIAL,
which is a special case of UPnP), it isn't particularly suited for
representing a UPnP device. For one thing, a UPnP device does not have a
single url associated with it to send messages. Instead, each of the services
inside it would have one such url. Similarly, a UPnP device itself does not
receive event messages. The underlying services do. Thus, a UPnP device does
not need/utilize the url attribute and onnotify handler. Instead, it needs an
array of objects that represents the underlying services. So, the difference
between the desired interface to represent a UPnP device and the current
NetworkService interface would be
- url
- onnotify
+ services[]

Now, if we look at the services objects to be included in a UPnP device
object, they need a little less than what is provided by the NetworkService
interface, as some of those would now belong to the parent device object.
Having them also at the service level would only make it more confusing. Most
notably, the online attribute and the associated online/offline events belong
to the parent device. The difference between the desired interface to
represent a UPnP service *residing under a UPnP device object* and the current
NetworkService interface would be
- id
- name
- config
- online
- onserviceonline
- onserviceoffline
(In other words, the desired interface for a UPnP service needs only type, url
and onnotify.)

My proposal would be to expand the NetworkService interface to add an optional
attribute for the services array and allow the url attribute to be
optional/nullable, with the caveat that the onnotify handler would be entirely
unused when the object represents a UPnP device. For representing the UPnP
service objects, I would propose introducing a separate interface with only
the necessary attributes/event handlers instead of reusing the NetworkService
interface to minimize confusion. The name of the interface would need some
serious thinking/bikeshedding though.

Once we agree on the object model, most of the changes to add UPnP device
support should be rather straightforward. However, I do expect to see some
sub-steps in various algorithms that would look significantly different for
UPnP
devices compared with the existing services.

Regards, Cathy.


[1] http://lists.w3.org/Archives/Public/public-device-apis/2012Nov/0101.html
[2] http://lists.w3.org/Archives/Public/public-device-apis/2013Feb/0012.html
[3] http://lists.w3.org/Archives/Public/public-device-apis/2013Mar/0003.html
Related Actions Items:
No related actions
Related emails:
  1. [admin] Agenda - Distributed Meeting 15 May 2014 (from frederick.hirsch@nokia.com on 2014-05-12)
  2. [admin] Agenda - Distributed Meeting 27 March 2014 (from Frederick.Hirsch@nokia.com on 2014-03-27)
  3. [admin] Agenda - Distributed Meeting 20 March 2014 (from Frederick.Hirsch@nokia.com on 2014-03-19)
  4. [admin] Cancel teleconference 6 March, next call 20 March (from Frederick.Hirsch@nokia.com on 2014-03-05)
  5. Re: [admin] Agenda - Distributed Meeting 27 February 2014 (from dom@w3.org on 2014-02-27)
  6. [admin] Agenda - Distributed Meeting 27 February 2014 (from Frederick.Hirsch@nokia.com on 2014-02-26)
  7. [admin] Agenda - Distributed Meeting 20 February 2014 (from Frederick.Hirsch@nokia.com on 2014-02-18)
  8. [admin] Agenda - Distributed Meeting 13 February 2014 (resend corrected date) (from Frederick.Hirsch@nokia.com on 2014-02-13)
  9. [admin] Agenda - Distributed Meeting 12 February 2014 (from Frederick.Hirsch@nokia.com on 2014-02-13)
  10. [admin] Agenda - Distributed Meeting 6 February 2014 (from Frederick.Hirsch@nokia.com on 2014-02-05)
  11. Regrets: [admin] Agenda - Distributed Meeting 30 January 2014 (from dom@w3.org on 2014-01-29)
  12. [admin] Agenda - Distributed Meeting 30 January 2014 (from Frederick.Hirsch@nokia.com on 2014-01-28)
  13. [admin] Agenda - Distributed Meeting 16 January 2014 (from Frederick.Hirsch@nokia.com on 2014-01-15)
  14. [admin] Agenda - Distributed Meeting 9 January 2014 (from Frederick.Hirsch@nokia.com on 2014-01-08)
  15. [admin] Agenda - Distributed Meeting 12 December2013 (from Frederick.Hirsch@nokia.com on 2013-12-11)
  16. [admin] Draft minutes 21 Nov 2013 teleconference (from Frederick.Hirsch@nokia.com on 2013-11-21)
  17. Re: [admin] Agenda - Distributed Meeting 21 November 2013 (from jean-claude.dufourd@telecom-paristech.fr on 2013-11-21)
  18. [admin] Agenda - Distributed Meeting 21 November 2013 (from Frederick.Hirsch@nokia.com on 2013-11-21)
  19. [network service discovery] resolving DAP ISSUE-131, search by device (from Frederick.Hirsch@nokia.com on 2013-11-14)
  20. Agenda - Distributed Meeting 7 November 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-11-05)
  21. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Tatsuya.Igarashi@jp.sony.com on 2013-10-31)
  22. Re: Agenda - Distributed Meeting 31 October 2013 (Thursday) (from jean-claude.dufourd@telecom-paristech.fr on 2013-10-29)
  23. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Cathy.Chan@nokia.com on 2013-10-28)
  24. Agenda - Distributed Meeting 31 October 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-10-28)
  25. Re: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from giuseppep@opera.com on 2013-10-25)
  26. Re: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from richt@opera.com on 2013-10-24)
  27. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Tatsuya.Igarashi@jp.sony.com on 2013-10-18)
  28. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Tatsuya.Igarashi@jp.sony.com on 2013-10-18)
  29. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Cathy.Chan@nokia.com on 2013-10-17)
  30. Re: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Frederick.Hirsch@nokia.com on 2013-10-17)
  31. Re: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Frederick.Hirsch@nokia.com on 2013-10-17)
  32. Re: Agenda - Distributed Meeting 17 October 2013 (Thursday) (from jean-claude.dufourd@telecom-paristech.fr on 2013-10-17)
  33. Re: Agenda - Distributed Meeting 17 October 2013 (Thursday) (from dom@w3.org on 2013-10-17)
  34. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Youenn.Fablet@crf.canon.fr on 2013-10-17)
  35. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Tatsuya.Igarashi@jp.sony.com on 2013-10-17)
  36. Agenda - Distributed Meeting 17 October 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-10-17)
  37. Re: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from richt@opera.com on 2013-10-17)
  38. [admin] Draft Minutes 10 October 2013 (from Frederick.Hirsch@nokia.com on 2013-10-16)
  39. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Cathy.Chan@nokia.com on 2013-10-16)
  40. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Cathy.Chan@nokia.com on 2013-10-16)
  41. Re: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from richt@opera.com on 2013-10-16)
  42. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Cathy.Chan@nokia.com on 2013-10-15)
  43. Re: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from giuseppep@opera.com on 2013-10-15)
  44. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Tatsuya.Igarashi@jp.sony.com on 2013-10-15)
  45. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Youenn.Fablet@crf.canon.fr on 2013-10-11)
  46. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Youenn.Fablet@crf.canon.fr on 2013-10-11)
  47. Re: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from giuseppep@opera.com on 2013-10-11)
  48. RE: [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Tatsuya.Igarashi@jp.sony.com on 2013-10-11)
  49. [discovery] DAP-ISSUE-131 Support UPnP device discovery by Device Type? (was RE: [discovery] Adding CORS to NSD API - proposal and issues) (from Cathy.Chan@nokia.com on 2013-10-10)
  50. RE: [discovery] Adding CORS to NSD API - proposal and issues (from Youenn.Fablet@crf.canon.fr on 2013-10-10)
  51. Agenda - Distributed Meeting 10 October 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-10-10)
  52. RE: [discovery] Adding CORS to NSD API - proposal and issues (from Tatsuya.Igarashi@jp.sony.com on 2013-10-07)
  53. Draft minutes today 3 October 2013 (from Frederick.Hirsch@nokia.com on 2013-10-03)
  54. Agenda - Distributed Meeting 3 October 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-10-02)
  55. Minutes 26 Sept 2013 (from Frederick.Hirsch@nokia.com on 2013-09-26)
  56. Agenda - Distributed Meeting 26 Sept 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-09-26)
  57. Draft minutes DAP 19 Sept 2013 teleconference (from Frederick.Hirsch@nokia.com on 2013-09-19)
  58. Agenda - Distributed Meeting 19 Sept 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-09-18)
  59. Cancel DAP call this week, meet next Thursday 19 Sept; pls work on ISSUES and ACTIONS on mail list (from Frederick.Hirsch@nokia.com on 2013-09-10)
  60. Draft Minutes 4 Sept 2013 (from Frederick.Hirsch@nokia.com on 2013-09-04)
  61. RE: ISSUES-131: Support UPnP device discovery by Device Type? (from Tatsuya.Igarashi@jp.sony.com on 2013-09-04)
  62. RE: ISSUES-131: Support UPnP device discovery by Device Type? (from Cathy.Chan@nokia.com on 2013-09-03)
  63. Agenda - Distributed Meeting 4 Sept 2013 (from Frederick.Hirsch@nokia.com on 2013-09-03)
  64. Agenda - Distributed Meeting 28 August 2013 (from Frederick.Hirsch@nokia.com on 2013-08-27)
  65. ISSUES-131: Support UPnP device discovery by Device Type? (from Tatsuya.Igarashi@jp.sony.com on 2013-08-27)
  66. Draft Minutes 21 August 2013 teleconference (from Frederick.Hirsch@nokia.com on 2013-08-21)
  67. Agenda - Distributed Meeting 21 August 2013 (from Frederick.Hirsch@nokia.com on 2013-08-20)
  68. Agenda - Distributed Meeting 14 August 2013 (from Frederick.Hirsch@nokia.com on 2013-08-13)
  69. Agenda - Distributed Meeting 7 August 2013 (from Frederick.Hirsch@nokia.com on 2013-08-05)
  70. [admin] Draft Minutes 24 July 2013 (from Frederick.Hirsch@nokia.com on 2013-08-05)
  71. RE: DAP-ISSUE-131: Support UPnP device discovery by Device Type? [Network Service Discovery] (from Cathy.Chan@nokia.com on 2013-07-23)
  72. Agenda - Distributed Meeting 24 July 2013 (corrected date) (from Frederick.Hirsch@nokia.com on 2013-07-23)
  73. Agenda - Distributed Meeting 23 July 2013 (from Frederick.Hirsch@nokia.com on 2013-07-23)
  74. RE: DAP-ISSUE-131: Support UPnP device discovery by Device Type? [Network Service Discovery] (from Cathy.Chan@nokia.com on 2013-07-23)
  75. Re: DAP-ISSUE-130: Enable variety of protocols (e.g. UPnP, Bonour) with protocol independent developer code [Network Service Discovery] (from jean-claude.dufourd@telecom-paristech.fr on 2013-07-20)
  76. Re: DAP-ISSUE-131: Support UPnP device discovery by Device Type? [Network Service Discovery] (from richt@opera.com on 2013-07-20)
  77. Re: DAP-ISSUE-131: Support UPnP device discovery by Device Type? [Network Service Discovery] (from richt@opera.com on 2013-07-20)
  78. Re: DAP-ISSUE-130: Enable variety of protocols (e.g. UPnP, Bonour) with protocol independent developer code [Network Service Discovery] (from richt@opera.com on 2013-07-20)
  79. RE: DAP-ISSUE-130: Enable variety of protocols (e.g. UPnP, Bonour) with protocol independent developer code [Network Service Discovery] (from Cathy.Chan@nokia.com on 2013-07-17)
  80. [admin] Cancel DAP teleconference 17 July 2013 (from Frederick.Hirsch@nokia.com on 2013-07-16)
  81. Draft minutes 10 July 2013 (from jsoref@blackberry.com on 2013-07-10)
  82. Agenda - Distributed Meeting 10 July 2013 (from Frederick.Hirsch@nokia.com on 2013-07-10)
  83. [network-discovery] Open Issues for Network Discovery (from Frederick.Hirsch@nokia.com on 2013-07-09)
  84. DAP-ISSUE-131: Support UPnP device discovery by Device Type? [Network Service Discovery] (from sysbot+tracker@w3.org on 2013-07-09)

Related notes:

No additional notes.

Display change log ATOM feed


Anssi Kostiainen <anssi.kostiainen@intel.com>, Reilly Grant <reillyg@google.com>, Chairs, Fuqiao Xue <xfq@w3.org>, Staff Contact
Tracker: documentation, (configuration for this group), originally developed by Dean Jackson, is developed and maintained by the Systems Team <w3t-sys@w3.org>.
$Id: 131.html,v 1.1 2019/11/08 08:57:59 carcone Exp $