CMDH Refinement ontribution: oneM2M-ARC-0397 ource: Josef Blanz, Qualcomm UK, [email protected] eeting Date: ARC 6.7, 2013-10-03 genda Item: CSF definitions
Dec 14, 2015
CMDH Refinement
Contribution: oneM2M-ARC-0397Source: Josef Blanz, Qualcomm UK, [email protected] Date: ARC 6.7, 2013-10-03Agenda Item: CSF definitions
CMDH: Refined Description
© 2013 oneM2M PartnersoneM2M-ARC-0397
2
• Description of what CMDH is supposed to do• Starts with simple UPDATE example• Proposes Stage-2 message flow• Does not cover protocol specific features (to
discussed in WG3)
Access to local resource
© 2013 oneM2M PartnersoneM2M-ARC-0397
3
Y2
Infrastructure Node
Middle Node
Application Service Node
AE1
CSE2 CSE3
Y1
CSE1
X
CMDH CMDH CMDH
• AE1 trying to access local resource: For instance an UPDATE to local resource• Assumes that resource is hosted on CSE1• Request can be processed without help of other CSEs• No need to involve CMDH on CSE1 or any other CSEs
UPDATE
Access to remote resource (1)
© 2013 oneM2M PartnersoneM2M-ARC-0397
4
Infrastructure Node
Middle Node
Application Service Node
AE1
CSE2 CSE3CSE1
X
CMDH CMDH CMDH
• AE1 trying to access remote resource: For instance an UPDATE to remote resource• Assumes resource is hosted on CSE3, connectivity for Y1/Y2 may be off-line• Request may contain preferences indicating ‘lifespan’, ‘event category’ etc.• CSE1, CSE2 and CSE3 need to get involved• Multiple steps needed… see following slides
UPDATE
Y2Y1
Access to remote resource (2)
© 2013 oneM2M PartnersoneM2M-ARC-0397
5
Infrastructure Node
Middle Node
Application Service Node
AE1
CSE2 CSE3CSE1
X
CMDH CMDH CMDH
• AE1 making request to local CSE (=CSE1), • CSE1 checks request and accepts it (other CSFs involved)• Request is targeting another CSE (=CSE3)• CMDH on CSE1 takes responsibility to deliver it
CSE1acceptsrequest
CMDH on CSE1responsibleto deliver
Y2Y1
Access to remote resource (3)
© 2013 oneM2M PartnersoneM2M-ARC-0397
6
Infrastructure Node
Middle Node
Application Service Node
AE1
CSE2 CSE3CSE1
X
CMDH CMDH CMDH
• CMDH on CSE1 is forwarding request to CSE2 • CMDH on CSE1 waits until it is OK to connect to CSE2 (policies: when/how)• CSE2 checks request and accepts it (other CSFs involved)• Request is targeting another CSE (=CSE3)• CMDH on CSE2 to takes responsibility to deliver it
CSE2acceptsrequest
CMDH on CSE2responsibleto deliver
Y2Y1
CSE1establishesconnection to CSE2
Access to remote resource (4)
© 2013 oneM2M PartnersoneM2M-ARC-0397
7
Infrastructure Node
Middle Node
Application Service Node
AE1
CSE2 CSE3CSE1
X
CMDH CMDH CMDH
• CMDH on CSE2 is forwarding request to CSE3 • CMDH on CSE2 waits until it is OK to connect to CSE3 (policies: when/how)• CSE3 checks request and accepts it (other CSFs involved)• Request is targeting local CSE (=CSE3)• Local CSE3 executes original request (UPDATE)
CSE3acceptsrequest
CSE3executesUPDATE
Y2Y1
CSE2establishesconnection to CSE3
Message Flow: Example
© 2013 oneM2M PartnersoneM2M-ARC-0397
8
Y2Y1CSE1AE1 attached to CSE1 X CSE2 CSE3
Response(Req-ID1)
Request(DELIVER(Orig-Req, Lifespan, EventCat))
Response(Req-ID2)
Request(DELIVER(Orig-Req, Lifespan, EventCat))
Response(Req-ID3)
Request( UPDATE(R-URI, R-Data, options), Lifespan, EventCat )
[1]
Internal processing(execution of UPDATE(R-URI, R-Data, options) )
[1]:Internal processing
(check on acceptance of request)
[1]
[1]
Scheduling Decision(policy driven)
[2] [2]:Internal processing
(CMDH responsible to deliver)
[2]
[3]
[3]:Internal processing
(CMDH passing on original request to other internal CSFs)
[2]
Assumptions:•Originator is AE1•Original request is an ‘UPDATE’ to a remote resource on CSE3•‘UPDATE’ options selected such that no feedback from update operation was requested, i.e. AE decided that it does not need to hear back from CSE3•Delivery related parameters (to be discussed separately):
• Lifespan• Event Category
Resource Based DH
© 2013 oneM2M PartnersoneM2M-ARC-0397
9
• Requesting a CSE to ‘deliver’ something could be done via a resource based service• A CSE receiving such requests may have a simple path for that, e.g. /{CSE-base}/dh• A special resource type <deliveryRequest> could be defined to capture the relevant
data and meta-data for delivery requests• Possible actions:
• Request to Deliver somethingCREATE(/{CSE-base}/dh, delivReqData, lifespan, eventCat, options)orCREATE(/{CSE-base}/dh/{pref-ID}, delivReqData, lifespan, eventCat, options)=> If accepted, CSE responds with actual dhr-ID (possibly more data, depends on selected options) and executes on the delivery• Request to retrieve status of delivery request
RETRIEVE(/{CSE-base}/dh/{dhr-ID})• Request to change delivery parameters
UPDATE(/{CSE-base}/dh/{dhr-ID}/lifespan, newLifespanValue, options)• Request to delete / cancel a delivery request
DELETE(/{CSE-base}/dh/{dhr-ID}, options)• Delivery of data can be offered as a resource-based service in a RESTful manner
Message Flow (Resources)
© 2013 oneM2M PartnersoneM2M-ARC-0397
10
Y2Y1CSE1AE1 attached to CSE1 X CSE2 CSE3
Response(Req-ID1)
Request(CREATE(/{root}/dh, delReqData, Lifespan, EventCat, options))
Response(dhr-ID1)
Request(CREATE(/{root}/dh, delReqData, Lifespan, EventCat, options))
Response(dhr-ID2)
Request( UPDATE(/{CSE3}/{R-Path}, R-Data, options), Lifespan, EventCat )
[1]
Internal processing(execution of UPDATE(R-URI, R-Data, options) )
[1]:Internal processing
(check on acceptance of request)
[1]
[1]
Scheduling Decision(policy driven)
[2] [2]:Internal processing
(CMDH responsible to deliver)
[2]
[3]
[3]:Internal processing
(CMDH passing on original request to other internal CSFs)
[2]
Assumptions:•Originator is AE1•Original request is an ‘UPDATE’ to a remote resource on CSE3•‘UPDATE’ options selected such that no feedback from update operation was requested, i.e. AE decided that it does not need to hear back from CSE3•Delivery related parameters (to be discussed separately):
• Lifespan• Event Category