supporting long polling group name: arc wg source: seungmyeong, lg electronics,...

10
Supporting long polling oup Name: ARC WG urce: SeungMyeong, LG Electronics, [email protected] eting Date: 2013-0x-xx enda Item: TBD

Upload: randolph-morton

Post on 05-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Supporting long polling Group Name: ARC WG Source: SeungMyeong, LG Electronics, seungmyeong.jeong@lge.com Meeting Date: 2013-0x-xx Agenda Item: TBD

Supporting long polling

Group Name: ARC WGSource: SeungMyeong, LG Electronics, [email protected] Date: 2013-0x-xxAgenda Item: TBD

Page 2: Supporting long polling Group Name: ARC WG Source: SeungMyeong, LG Electronics, seungmyeong.jeong@lge.com Meeting Date: 2013-0x-xx Agenda Item: TBD

Needs• Entities in subscription/notification

– Resource subscriber who created <subscription>– Subscription hosting CSE who sends notifications

• Long polling is needed– In some cases, a notification cannot be sent to receiver due to NAT or firewall– Short polling by the subscriber is costly– The subscriber performs long polling to retrieve notifications from the hosting CSE

© 2013 oneM2M Partners2

Page 3: Supporting long polling Group Name: ARC WG Source: SeungMyeong, LG Electronics, seungmyeong.jeong@lge.com Meeting Date: 2013-0x-xx Agenda Item: TBD

ARC-2013-0473 at TP#7 (1/2)

• notification channel resource type for long-polling (notification retrieval), – <notificationChannel> has a virtual child resource

© 2013 oneM2M Partners3

Subscription Hosting CSESubscription Hosting CSEResource SubscriberResource

Subscriber

<notificationCH>

channel

channel status

retrieve notifications with long polling targeting “/<notificationCH>/channel”retrieve notifications with long polling targeting “/<notificationCH>/channel”

send triggered

notifications to“/<notificationCH>/chann

el”

send triggered

notifications to“/<notificationCH>/chann

el”

Page 4: Supporting long polling Group Name: ARC WG Source: SeungMyeong, LG Electronics, seungmyeong.jeong@lge.com Meeting Date: 2013-0x-xx Agenda Item: TBD

ARC-2013-0473 at TP#7 (2/2)• Main feedback was why not use <container>

– short polling on <instance> is available, but costly– <container> as it is cannot support long polling

© 2013 oneM2M Partners4

Subscription Hosting CSESubscription Hosting CSEResource SubscriberResource

Subscriber<container>

<instance>

latest

……

retrieve notifications with

long polling… targeting “???”

retrieve notifications with

long polling… targeting “???”

• container• latest• instance

triggered notifications to be

stored as instances

triggered notifications to be

stored as instances

Page 5: Supporting long polling Group Name: ARC WG Source: SeungMyeong, LG Electronics, seungmyeong.jeong@lge.com Meeting Date: 2013-0x-xx Agenda Item: TBD

Summary• What we need to do is

– supporting long-polling notification retrieval• to solve non-server capable resource subscriber issue

– NOT re-using <container>• Resource subscriber does not matter whether notifications are stored in container of subscription hosting CSE

or not. • The subscriber only matters how to retrieve notifications. The hosting CSE might matter but that’s

implementation issue.

© 2013 oneM2M Partners5

Page 6: Supporting long polling Group Name: ARC WG Source: SeungMyeong, LG Electronics, seungmyeong.jeong@lge.com Meeting Date: 2013-0x-xx Agenda Item: TBD

Suggestion• Basically the same as suggestion of TP#7,

– has a virtual child resource named “notification”• utilize virtual resource concept/benefit

– status is not needed– does not matter notification storage

• e.g., <container> or 3rd party external storage

© 2013 oneM2M Partners6

<notificationCH>

notificationretrieve notifications with

long polling targeting “/<notificationCH>/notificati

on”

retrieve notifications with long polling targeting

“/<notificationCH>/notification”

triggered notificationstriggered notifications

conceptually channel INPUT

conceptually channel OUTPUT

Page 7: Supporting long polling Group Name: ARC WG Source: SeungMyeong, LG Electronics, seungmyeong.jeong@lge.com Meeting Date: 2013-0x-xx Agenda Item: TBD

Example (1/2)

© 2013 oneM2M Partners7

ADN-AE MN-CSE

1. create requestresource type: <notificationCH>

2. create responsenew resource “MN-CSE/noti_ch” created

3. create requestresource type: <subscription>

notificationURI: “MN-CSE/noti_ch/notification”

4. create responsenew resource “MN-CSE/sub” created

Page 8: Supporting long polling Group Name: ARC WG Source: SeungMyeong, LG Electronics, seungmyeong.jeong@lge.com Meeting Date: 2013-0x-xx Agenda Item: TBD

Example (2/2)

© 2013 oneM2M Partners8

ADN-AE MN-CSE

6. retrieve responsecontent: notification data

a notification is triggered

send a notification to “/noti_ch/notification”

(internally)

5. retrieve requesttarget: “MN-CSE/noti_ch/notification” ( long polling URI)

pending the retrieve request until a notification is received at notification channel

Page 9: Supporting long polling Group Name: ARC WG Source: SeungMyeong, LG Electronics, seungmyeong.jeong@lge.com Meeting Date: 2013-0x-xx Agenda Item: TBD

The other long polling• Non-server capable entity does this for

– Notification retrieval– Other CRUD requests retrieval

• channel hosting CSE re-targets request(s) to a channel• Non server capable entity retrieves the request(s) from the channel

© 2013 oneM2M Partners9

CSE2base

CSE1retrieve request(s) with long

polling from “entity2_base/entity1/chann

el”

retrieve request(s) with long polling from

“entity2_base/entity1/channel”

A request to CSE1A request to CSE1

channelCSE1

AE2

Re-target

Cannot send a request to a non server capable entity

Page 10: Supporting long polling Group Name: ARC WG Source: SeungMyeong, LG Electronics, seungmyeong.jeong@lge.com Meeting Date: 2013-0x-xx Agenda Item: TBD

Way Forward

• To bring a contribution proposing a new resource type <pollingChannel>– 2 main usages for non server capable AE/CSE

• Notification retrieval channel for AE/CSE Notification channel (in ETSI TC M2M)

• CRUD request retrieval channel for CSE Communication channel (in ETSI TC M2M)

– Eventually both are for long polling– So it has more generic name <pollingChannel>