device management using mgmtcmd resource group name: wg2/wg5 source: interdigital communications...
TRANSCRIPT
Device Managementusing mgmtCmd resource
Group Name: WG2/WG5Source: InterDigital CommunicationsMeeting Date: 2013-12-01Agenda Item: TBD
oneM2M-XXX-2013-XXXX
Motivations• DMG CSF should provide functionality for execution of management
commands in End or Intermediate Nodes (e.g. M2M Devices or Gateways)
• The Infrastructure Node should be able to expose management resources to M2M Network Applications.
• The Infrastructure Node should provide a general approach and interface for M2M Network Applications to issue management commands.
• M2M Network Applications may not need to understand underlying management protocols between remote entities and Management Server.
• Existing Management protocols using non-RESTFUL commands and RPCs (e.g. BBF) should be enabled through the DMG CSF functionality
2
Basic ProceduresDescription: An M2M AE needs to issue management commands (e.g. Download) to an End Node (e.g. an M2M device)
A: Create <mgmtCmd>Either the AE or the CSE itself creates a <mgmtCmd> resource at an Infrastructure Node (i.e. <IN-CSE 1>)
B: Execute <mgmtCmd> The M2M Network Application as an AE sends an UPDATE to “<mgmtCmd>/exexEnable” to trigger the execution of the <mgmtCmd> at the End Node via the Infrastructure Node
UPDATE “…/<mgmtCmd>/execEnable”
This step will trigger the creation of command instance(s) (i.e. <mgmtCmd>/execInstances/<execInstance>)
C: Retrieve <mgmtCmd>The M2M Network Application as an AE retrieves execution results from the Infrastructure Node (i.e. <IN-CSE01>).
RETRIEVE “…/<mgmtCmd>/execInstances/<execInstance>”
oneM2M-XXX-2013-XXXX
mgmtCmd Attributes:
Attribute Name Mandatory/Optional
Type Description
expirationTime M RW See clause 9.6.1 Common attributes.
accessRightID M RW See clause 9.6.1 Common attributes.
searchStrings M RW See clause 9.6.1 Common attributes.
creationTime M RO See clause 9.6.1 Common attributes.
lastModifiedTime M RO See clause 9.6.1 Common attributes.
description O RW the text-format description of this resource
cmdType M WO The type to identify the command(e.g. download, reboot, etc.).
execReqArgs O RW Structured attribute (e.g. abstract type) to contain any command-specific arguments of the request.
execEnable M RO The attribute can be blank without any value or it can contain a URI that can be used to trigger execution of <mgmtCmd> using UPDATE method.
4
E.g.: Device Information , Firmware, Software , Device Information, Battery, Memory, etc.
The arguments allow the IN-CSE to map the management command to the appropriate underlying management technology. The application will be management technology agnostic.
Create mgmtCmd
CSE 2(e.g. Intermediate Node/End Node )
CSE 1(e.g. Infrastructure
Node)
AE 1(e.g. M2M Network
Application)
Management Server
(e.g. ACS in BBF TR069)
Management Client
(e.g. CPE in BBF TR069)
Ms
DM Protocol
Device or Gateway
1
Normal Procedures:
Step 1: AE 1 issues CREATE method to create a new mgmtCmd (e.g. <mgmtCmd1>).
Step 2: CSE1 create s a new mgmtCmd resource. (e.g. <mgmtCmd1>) an sends the response back to AE 1.
mgmtCmd(e.g. <mgmtCmd1>)
2
CRUD RequestResponse
Mcc
Mca
Retrieve mgmtCmd
CSE 2(e.g. Intermediate Node/End Node )
CSE 1(e.g. Infrastructure
Node)
AE 1(e.g. M2M Network
Application)
mgmtCmd(e.g. <mgmtCmd1>)
Management Server
(e.g. ACS in BBF TR069)
Management Client
(e.g. CPE in BBF TR069)
Ms
DM Protocol
Device or Gateway
1
Normal Procedures:
Step 1: AE 1 issues RETRIEVE method to the resource <mgmtCmd1> or its sub-resource (e.g. to retrieve execution status and/or execution result of <mgmtCmd1>).
Step 2: CSE1 returns a general response which includes the resource representation of the resource as included in Step 1.
2
CRUD RequestResponse
Mcc
Mca
Execute mgmtCmd
CSE 2(e.g. Intermediate Node/End Node )
CSE 1( e.g. Infrastructure
Node)
AE 1(e.g. M2M Network
Application)
Management Server
(e.g. ACS in BBF TR069)
Management Client
(e.g. CPE in BBF TR069)
Ms
DM Protocol
Device or Gateway
1
2
3
4
5
Normal Procedures:
Step 1: AE 1 issues UPDATE method to <mgmtCmd1>’s attribute execEnable.
Step 2: CSE1 invokes the Management Server to trigger it to execute <mgmtCmd1> on Intermediate Node/End Node (i.e. device or gateway).
Step 3 & 4: Mgmt. Server talks to Mgmt. Client using existing mgmt. protocols, which could be non-RESTful.
Step 5: Mgmt. Server passes execution results to CSE 1, who stores them in sub-resources of <mgmtCmd1>.
mgmtCmd(e.g. <mgmtCmd1>)
Mcc
McaCRUD Req.
Resp.
Use Case
• One M2M Network Application performing management operations
(e.g. SW download) for multiple devices and multiple management technologies
Creation of resource(s)
CSE I1(e.g. Infrastructure Node)
Mcc
BBF Mgmt Server(i.e. ACS)
Ms
DM Protocol (e.g. BBF CWMP)
Mcc
OMA Mgmt Server(i.e. DMS)
Ms
DM Protocol(e.g. OMA DM)
OMA Mgmt Client
(i.e. DMC)
CSE M1
CSE N1
BBF Mgmt Client
(i.e. CPE)
M1M2
N1N2
AE A(e.g. M2M Network
Application)
Mca
mgmtCmd <mgmtCmdDownloadA>
execInstanceM1execInstanceM2execInstanceN1execinstanceN2
Only one resource may be created , with multiple execInstances. The AE may use execEnable to execute the command one or more times, or it may use execInstance’s cheduling parameters
Each execInstance may have different arguments for scheduling or map through execReqArgs to a different management technology
oneM2M-XXX-2013-XXXX
mgmtCmd and execInstance
10
<mgmtCmd>
“attribute” n
execInstances 1
cmdType
execReqArgs
execEnable
1
1
0::1 0::1
1
1
<execInstance>
“attribute”n
execStatus
execResult
execDisable
execMode
1execNumber
execDelay
execReqArgs
execFrequency
1
1
1
1
execTarget
n
oneM2M-XXX-2013-XXXX
<execInstance> Attributes:
11
If execution is disabled, the IN-CSE will notify the End Node and then delete the <execInstance>
Each instance can be executed with different arguments
Each execution may have a different status, which is exposed to the AE
Attribute Name Mandatory/Optional
Type Description
expirationTime M RO See clause 9.6.1 Common attributes.accessRightID M RW See clause 9.6.1 Common attributes.creationTime M RO See clause 9.6.1 Common attributes.lastModifiedTime M RO See clause 9.6.1 Common attributes.execStatus M RO The status of <execInstance>. It can be initiated, started,
finished, cancelled, or deleted.execResult M RO The execution result of <execInstance>.execDisable O RW The attribute is used to cancel <execInstance> using
UPDATE method. execTarget M RW URI of the target on which the management command will
be executed.execMode O RW Modes used to specify how the command will be
executed, e.g. Immediate Once, Immediate and Repeatedly, Random Once, Random and Repeatedly. In case repetition is required, the interval between two executions is specified by execFrequency.
execFrequency O RW The interval between two executions when execMode requires repetitions (i.e. Immediate and Repeatedly, or Random and Repeatedly).
execDelay O RW The delay before the instance should be executed.
execNumber O RW The number of times the instance should be executed.execReqArgs O RW Structured attribute (e.g. abstract type) to contain any
command-specific arguments used to trigger this <execInstance>.
Summary• mgmtCmd provides a RESTful and Abstracted approach for realizing DMG
CSF’s function.– Provides generaliszd, RESTful methods to execute management commands in
Intermediate Node/End Nodes such as devices or gateways.– The resource may reside in IN-CSE and be created by an AE or the CSE itself.– It exposes information such as execution status, arguments, etc. to the AEs
• mgmtCmd allows interactions between DMG CSF and existing Management Servers to be transparent to and hidden from M2M Network Applications
• mgmtCmd supports multiple execution instances of the same command with improved flexibility and reduced overhead. – RESTful methods can be applied for all execInstances under the same
<mgmtCmd>, e.g. CREATE, DELETE – Execution of individual commands can be scheduled and/or triggered
independently. Individual execInstances can be disabled.– Independent arguments allow for execution flexibility, including mapping to
various management technologies
• mgmtCmd provides a flexible approach for conversion between RESTful methods and non-RESTful conventional management commands.