ISSUE-133: Fix UPnP events subscription and unsubscription

Fix UPnP events subscription and unsubscription

State:
CLOSED
Product:
Network Service Discovery
Raised by:
Cathy Chan
Opened on:
2013-07-30
Description:
This evolves from comment A7 in the consolidated comments in [1]. Follow-up comments are in [2], [3], [4], [5] and [6].

Essentially, the UPnP events subscription and unsubscription steps are not entirely correct. They should be fixed as follows.

- when a NetworkService object representing a local networked service is being added to any service manager for the first time, the UA sets up a UPnP events subscription with that service. The UA also begins to maintain a subscription list of NetworkService objects subscribed to that service.
- subsequently, when a NetworkService object representing the same local networked service is being added to additional service managers, the UA adds the NetworkService object to the subscription list associated with that local networked service.
- when a UPnP event arrives, the UA dispatches a notification event to each of the NetworkService objects in the subscription list.
- when removing an available service (the local networked service is no longer online), the UA terminates UPnP events subscription associated with that service.
- when adding an available service (the local networked service comes [back] online), the UA re-initiates UPnP events subscription with that service. It also adds all NetworkService objects representing that service to the subscription list.
- when NetworkService objects are being garbage collected, the UA removes the NetworkService object from the corresponding subscription list. If the subscription becomes empty as a result, the UA terminates UPnP events subscription with the corresponding local networked service.

[1] http://lists.w3.org/Archives/Public/public-device-apis/2013Jan/0052.html
[2] http://lists.w3.org/Archives/Public/public-device-apis/2013Feb/0007.html
[3] http://lists.w3.org/Archives/Public/public-device-apis/2013Feb/0040.html
[4] http://lists.w3.org/Archives/Public/public-device-apis/2013Feb/0049.html
[5] http://lists.w3.org/Archives/Public/public-device-apis/2013Feb/0063.html
[6]* http://lists.w3.org/Archives/Public/public-device-apis/2013Feb/0071.html
*The content of [6] was unfortunately not properly archived. The relevant text is included here.
[[Having taken a closer look, this is still not right. The algorithm uses a
"service type in use" flag to determine whether to terminate the events
subscription, whereas something like "service in use" (*not type*) should be
used instead. In other words, you terminate the events subscription if
client is using a particular service, not if no client is interested in the
service type.

Even with that change, the unsubscription process is still a bit messy.
There are actually two trigger points for terminating an events
subscription. The first is when a local networked service gets disconnected
from the network (i.e. becomes unavailable). At that point, the events
subscription is effectively terminated implicitly, as the service would have
no recollection of the existing subscription when it comes back online. In
this case, all the UA needs to do is clean up its internal storage regarding
this subscription, and this should be part of the rule for removing an
available service. Note that to complement this, the UA also needs to
re-establish an events subscription when the local networked service comes
back online, if there are active service managers that include that network
service. This step is currently missing and should be added to the rule for
adding an available service. The second trigger point for terminating an
events subscription is when all the clients interested in that network
service are gone. In this case, regardless of the current status of the
local networked service, the UA would terminate the events subscription by
sending an unsubscribe message. The checking of this trigger point should be
when a service manager is being removed from the list of active service
managers. I believe this belongs to the garbage collection phase.]]
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. Re: [admin] Agenda - Distributed Meeting 21 November 2013 (from jean-claude.dufourd@telecom-paristech.fr on 2013-11-21)
  17. [admin] Agenda - Distributed Meeting 21 November 2013 (from Frederick.Hirsch@nokia.com on 2013-11-21)
  18. Agenda - Distributed Meeting 7 November 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-11-05)
  19. Re: Agenda - Distributed Meeting 31 October 2013 (Thursday) (from jean-claude.dufourd@telecom-paristech.fr on 2013-10-29)
  20. Agenda - Distributed Meeting 31 October 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-10-28)
  21. Re: Agenda - Distributed Meeting 17 October 2013 (Thursday) (from jean-claude.dufourd@telecom-paristech.fr on 2013-10-17)
  22. Re: Agenda - Distributed Meeting 17 October 2013 (Thursday) (from dom@w3.org on 2013-10-17)
  23. Agenda - Distributed Meeting 17 October 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-10-17)
  24. Agenda - Distributed Meeting 10 October 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-10-10)
  25. Draft minutes today 3 October 2013 (from Frederick.Hirsch@nokia.com on 2013-10-03)
  26. Agenda - Distributed Meeting 3 October 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-10-02)
  27. Minutes 26 Sept 2013 (from Frederick.Hirsch@nokia.com on 2013-09-26)
  28. Agenda - Distributed Meeting 26 Sept 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-09-26)
  29. Agenda - Distributed Meeting 19 Sept 2013 (Thursday) (from Frederick.Hirsch@nokia.com on 2013-09-18)
  30. 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)
  31. Agenda - Distributed Meeting 4 Sept 2013 (from Frederick.Hirsch@nokia.com on 2013-09-03)
  32. Agenda - Distributed Meeting 28 August 2013 (from Frederick.Hirsch@nokia.com on 2013-08-27)
  33. Draft Minutes 21 August 2013 teleconference (from Frederick.Hirsch@nokia.com on 2013-08-21)
  34. Agenda - Distributed Meeting 21 August 2013 (from Frederick.Hirsch@nokia.com on 2013-08-20)
  35. Re: DAP-ISSUE-133: Fix UPnP events subscription and unsubscription [Network Service Discovery] (from C.Stevens@CableLabs.com on 2013-08-19)
  36. Re: DAP-ISSUE-133: Fix UPnP events subscription and unsubscription [Network Service Discovery] (from jean-claude.dufourd@telecom-paristech.fr on 2013-08-19)
  37. Agenda - Distributed Meeting 14 August 2013 (from Frederick.Hirsch@nokia.com on 2013-08-13)
  38. Agenda - Distributed Meeting 7 August 2013 (from Frederick.Hirsch@nokia.com on 2013-08-05)
  39. DAP-ISSUE-133: Fix UPnP events subscription and unsubscription [Network Service Discovery] (from sysbot+tracker@w3.org on 2013-07-30)

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: index.php,v 1.326 2018/10/13 17:29:51 vivien Exp $