oneM2M TR-0071Release Notes diff from v0.4.1 to v0.4.0Editor’s Note: The section provides various AI/ML solutions for potential requirements.
In this AI/ML model repository and deployment management feature, there are four new resource types suggested. For a CSE, there can be one or more
For an AE which represents an AIoT device (e.g. AI robot), AI service users can deploy model(s) to the device. To deploy models, a


Figure 7.1.1‑1: Resource tree structure for ML model management
NOTE: An alternative approach regarding the exising oneM2M device management capability is FFS.
NOTE: An alternative approach regarding the exising oneM2M device management capability is FFS.
The
Table 7.1.2.1‑1: Child resources of |Child Resources of <modelRepo>|Child Resource Type|Multiplicity|Description|<modelRepoAnnc> Child Resource Types| |-|-|-|-|-| |[variable]|<semanticDescriptor>|0..n|See clause 9.6.30[1]|<semanticDescriptor>, <semanticDescriptorAnnc>| |[variable]||0..n|See clause 9.6.8[1]|| |[variable]|<mlModel>|0..n|See clause 7.1.2.2|<mlModelAnnc>| |[variable]||1|See clause 9.6.27[1]|None| |[variable]||1|See clause 9.6.28[1]|None|
Child Resources of |
Child Resource Type
|
Multiplicity
|
Description
|
|
|---|---|---|---|---|
[variable]
|
0..n
|
See clause 9.6.30 [1]
|
||
[variable]
|
0..n
|
See clause 9.6.8 [1]
|
||
[variable]
|
0..n
|
See clause 7.1.2.2
|
||
[variable]
|
1
|
See clause 9.6.27 [1]
|
None
|
|
[variable]
|
1
|
See clause 9.6.28 [1]
|
None
|
The
Table 7.1.2.1‑2: Attributes of |Attributes of <modelRepo>|Multiplicity|RW/RO/WO|Description|<modelRepoAnnc> Attributes| |-|-|-|-|-| |resourceType|1|RO|See clause 9.6.1.3[1]|NA| |resourceID|1|RO|See clause 9.6.1.3[1]|NA| |resourceName|1|WO|See clause 9.6.1.3[1]|NA| |parentID|1|RO|See clause 9.6.1.3[1]|NA| |expirationTime|1|RW|See clause 9.6.1.3[1]|MA| |accessControlPolicyIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |labels|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |creationTime|1|RO|See clause 9.6.1.3[1]|NA| |lastModifiedTime|1|RO|See clause 9.6.1.3[1]|NA| |announceTo|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announcedAttribute|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announceSyncType|0..1|RW|See clause 9.6.1.3[1]|MA| |dynamicAuthorizationConsultationIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|OA| |creator|0..1|RO|See clause 9.6.1.3[1]|NA| |custodian|0..1|RW|See clause 9.6.1.3[1]|NA| |currentNumberOfModels|1|RO|The current number of ML models in the repository.|OA| |currentByteOfModels|1|RO|The current total byte size of ML models in the repository.|OA| |maxNumberOfModels|0..1|RW|The maximum number of ML models which can be stored in the repository.|OA| |maxByteOfModels|0..1|RW|The maximum byte size of ML models which can be stored in the repository.|OA|
Attributes of |
Multiplicity
|
RW/ RO/ WO |
Description
|
|
|---|---|---|---|---|
resourceType
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceName
|
1
|
WO
|
See clause 9.6.1.3 [1]
|
NA
|
parentID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
expirationTime
|
1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
accessControlPolicyIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
labels
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
creationTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
lastModifiedTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
announceTo
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announcedAttribute
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announceSyncType
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
dynamicAuthorizationConsultationIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
OA
|
creator
|
0..1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
custodian
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
currentNumberOfModels
|
1
|
RO
|
The current number of ML models in the repository.
|
OA
|
currentByteOfModels
|
1
|
RO
|
The current total byte size of ML models in the repository.
|
OA
|
maxNumberOfModels
|
0..1
|
RW
|
The maximum number of ML models which can be stored in the repository.
|
OA
|
maxByteOfModels
|
0..1
|
RW
|
The maximum byte size of ML models which can be stored in the repository.
|
OA
|
The
Table 7.1.2.2‑1: Child resources of |Child Resources of <mlModel>|Child Resource Type|Multiplicity|Description|<mlModelAnnc> Child Resource Types| |-|-|-|-|-| |[variable]|<semanticDescriptor>|0..n|See clause 9.6.30[1]|<semanticDescriptor>, <semanticDescriptorAnnc>| |[variable]||0..n|See clause 9.6.8[1]||
Child Resources of |
Child Resource Type
|
Multiplicity
|
Description
|
|
|---|---|---|---|---|
[variable]
|
0..n
|
See clause 9.6.30 [1]
|
||
[variable]
|
0..n
|
See clause 9.6.8 [1]
|
The
Table 7.1.2.2‑2: Attributes of |Attributes of <mlModel>|Multiplicity|RW/RO/WO|Description|<mlModelAnnc> Attributes| |-|-|-|-|-| |resourceType|1|RO|See clause 9.6.1.3[1]|NA| |resourceID|1|RO|See clause 9.6.1.3[1]|NA| |resourceName|1|WO|See clause 9.6.1.3[1]|NA| |parentID|1|RO|See clause 9.6.1.3[1]|NA| |expirationTime|1|RW|See clause 9.6.1.3[1]|MA| |accessControlPolicyIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |labels|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |creationTime|1|RO|See clause 9.6.1.3[1]|NA| |lastModifiedTime|1|RO|See clause 9.6.1.3[1]|NA| |announceTo|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announcedAttribute|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announceSyncType|0..1|RW|See clause 9.6.1.3[1]|MA| |dynamicAuthorizationConsultationIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|OA| |creator|0..1|RO|See clause 9.6.1.3[1]|NA| |custodian|0..1|RW|See clause 9.6.1.3[1]|NA| |name|0..1|RW|The human readable name of the ML model.|OA| |version|1|RW|The version of the ML model.|OA| |platform|1|RW|The ML platform that trained the model. (e.g. tensorFlow)|OA| |mlType|1|RW|The type of ML algorithm (e.g. regression, classification).|OA| |description|0..1|RW|The human readable description of the ML model.|OA| |inputSample|0..1|RW|The sample data of inference input.|OA| |outputSample|0..1|RW|The sample data of inference output.|OA| |mlModel|0..1|RW|The Base 64 encodedbinary ML model. When a model consists more than one file, than the zipped file is stored in this attribute. This cannot be present with mlModelURL .|OA| |mlModelSize|0..1|RO|The byte size of the ML model stored in mlModel .|OA| |mlModelURL|0..1|RW|The URL of the ML model. This cannot be present with mlModel .|OA|
Attributes of |
Multiplicity
|
RW/ RO/ WO |
Description
|
|
|---|---|---|---|---|
resourceType
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceName
|
1
|
WO
|
See clause 9.6.1.3 [1]
|
NA
|
parentID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
expirationTime
|
1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
accessControlPolicyIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
labels
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
creationTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
lastModifiedTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
announceTo
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announcedAttribute
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announceSyncType
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
dynamicAuthorizationConsultationIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
OA
|
creator
|
0..1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
custodian
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
name
|
0..1
|
RW
|
The human readable name of the ML model.
|
OA
|
version
|
1
|
RW
|
The version of the ML model.
|
OA
|
platform
|
1
|
RW
|
The ML platform that trained the model. (e.g. tensorFlow)
|
OA
|
mlType
|
1
|
RW
|
The type of ML algorithm (e.g. regression, classification).
|
OA
|
description
|
0..1
|
RW
|
The human readable description of the ML model.
|
OA
|
inputSample
|
0..1
|
RW
|
The sample data of inference input.
|
OA
|
outputSample
|
0..1
|
RW
|
The sample data of inference output.
|
OA
|
mlModel
|
0..1
|
RW
|
The Base 64 encodedbinary ML model. When a model consists more than one file, than the zipped file is stored in this attribute. This cannot be present with mlModelURL .
|
OA
|
mlModelSize
|
0..1
|
RO
|
The byte size of the ML model stored in mlModel .
|
OA
|
mlModelURL
|
0..1
|
RW
|
The URL of the ML model. This cannot be present with mlModel .
|
OA
|
The
Table 7.1.2.3‑1: Child resources of |Child Resources of <modelDeployment>List>|Child Resource Type|Multiplicity|Description|<modelDeploymentList> Child Resource Types| |-|-|-|-|-| |[variable]|<semanticDescriptor>|0..n|See clause 9.6.30[1]|<semanticDescriptor>, <semanticDescriptorAnnc>| |[variable]||0..n|See clause 9.6.8[1]|| |[variable]|<modelDeployment>|0..n|See 7.1.2.4|<modelDeploymentAnnc>|
Child Resources of |
Child Resource Type
|
Multiplicity
|
Description
|
|
|---|---|---|---|---|
[variable]
|
0..n
|
See clause 9.6.30 [1]
|
||
[variable]
|
0..n
|
See clause 9.6.8 [1]
|
||
[variable]
|
0..n
|
See 7.1.2.4
|
The
Table 7.1.2.3‑2: Attributes of |Attributes of <modelDeploymentList>|Multiplicity|RW/RO/WO|Description|<modelDeploymentListAnnc> Attributes| |-|-|-|-|-| |resourceType|1|RO|See clause 9.6.1.3[1]|NA| |resourceID|1|RO|See clause 9.6.1.3[1]|NA| |resourceName|1|WO|See clause 9.6.1.3[1]|NA| |parentID|1|RO|See clause 9.6.1.3[1]|NA| |expirationTime|1|RW|See clause 9.6.1.3[1]|MA| |accessControlPolicyIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |labels|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |creationTime|1|RO|See clause 9.6.1.3[1]|NA| |lastModifiedTime|1|RO|See clause 9.6.1.3[1]|NA| |announceTo|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announcedAttribute|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announceSyncType|0..1|RW|See clause 9.6.1.3[1]|MA| |dynamicAuthorizationConsultationIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|OA| |creator|0..1|RO|See clause 9.6.1.3[1]|NA| |custodian|0..1|RW|See clause 9.6.1.3[1]|NA| |numberOfDeployedModels|1|RO|The the number of ML models whose status is "deployed" among the models in this deployment list.|OA| |numberOfRunningModels |1|RO|The the number of ML models whose status is "running" among the models in this deployment list.|OA| |numberOfStoppedModels|1|RO|The the number of ML models whose status is "stopped" among the models in this deployment list.|OA|
Attributes of |
Multiplicity
|
RW/ RO/ WO |
Description
|
|
|---|---|---|---|---|
resourceType
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceName
|
1
|
WO
|
See clause 9.6.1.3 [1]
|
NA
|
parentID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
expirationTime
|
1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
accessControlPolicyIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
labels
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
creationTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
lastModifiedTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
announceTo
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announcedAttribute
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announceSyncType
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
dynamicAuthorizationConsultationIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
OA
|
creator
|
0..1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
custodian
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
numberOfDeployedModels
|
1
|
RO
|
The the number of ML models whose status is "deployed" among the models in this deployment list.
|
OA
|
numberOfRunningModels
|
1
|
RO
|
The the number of ML models whose status is "running" among the models in this deployment list.
|
OA
|
numberOfStoppedModels
|
1
|
RO
|
The the number of ML models whose status is "stopped" among the models in this deployment list.
|
OA
|
The
Another AE can remotely manipulate the model status with the modelCommand attribute. It can run or stop the deployed model.
Table 7.1.2.4‑1: Child resources of |Child Resources of <modelDeployment>|Child Resource Type|Multiplicity|Description|<modelDeploymentAnnc> Child Resource Types| |-|-|-|-|-| |[variable]|<semanticDescriptor>|0..n|See clause 9.6.30[1]|<semanticDescriptor>, <semanticDescriptorAnnc>| |[variable]||0..n|See clause 9.6.8[1]||
Child Resources of |
Child Resource Type
|
Multiplicity
|
Description
|
|
|---|---|---|---|---|
[variable]
|
0..n
|
See clause 9.6.30 [1]
|
||
[variable]
|
0..n
|
See clause 9.6.8 [1]
|
The
Table 7.1.2.4‑2: Attributes of |Attributes of <modelDeployment>|Multiplicity|RW/RO/WO|Description|<modelDeploymentAnnc> Attributes| |-|-|-|-|-| |resourceType|1|RO|See clause 9.6.1.3[1]|NA| |resourceID|1|RO|See clause 9.6.1.3[1]|NA| |resourceName|1|WO|See clause 9.6.1.3[1]|NA| |parentID|1|RO|See clause 9.6.1.3[1]|NA| |expirationTime|1|RW|See clause 9.6.1.3[1]|MA| |accessControlPolicyIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |labels|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |creationTime|1|RO|See clause 9.6.1.3[1]|NA| |lastModifiedTime|1|RO|See clause 9.6.1.3[1]|NA| |announceTo|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announcedAttribute|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announceSyncType|0..1|RW|See clause 9.6.1.3[1]|MA| |dynamicAuthorizationConsultationIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|OA| |creator|0..1|RO|See clause 9.6.1.3[1]|NA| |custodian|0..1|RW|See clause 9.6.1.3[1]|NA| |modelID|1(L)|WO|The resource ID of the <mlModel> resource that is deployed.|OA| |modelCommand|1|RW|This attribute is not returned in a response, but can be included in an Update request to update the modelStatus . Allowed values for an Update request is "run" and "stop".|NA| |modelStatus|1|RO|The status of the deployed ML model which is "deployed", "running" or "stopped".The default is "deployed"|OA| |inputResource|1|RW|The resource ID of the inference input resource.|OA| |outputResource|1|RW|The resource ID of the inference output.|OA|
Attributes of |
Multiplicity
|
RW/ RO/ WO |
Description
|
|
|---|---|---|---|---|
resourceType
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceName
|
1
|
WO
|
See clause 9.6.1.3 [1]
|
NA
|
parentID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
expirationTime
|
1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
accessControlPolicyIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
labels
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
creationTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
lastModifiedTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
announceTo
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announcedAttribute
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announceSyncType
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
dynamicAuthorizationConsultationIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
OA
|
creator
|
0..1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
custodian
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
modelID
|
1(L)
|
WO
|
The resource ID of the |
OA
|
modelCommand
|
1
|
RW
|
This attribute is not returned in a response, but can be included in an Update request to update the modelStatus . Allowed values for an Update request is "run" and "stop".
|
NA
|
modelStatus
|
1
|
RO
|
The status of the deployed ML model which is "deployed", "running" or "stopped". The default is "deployed" |
OA
|
inputResource
|
1
|
RW
|
The resource ID of the inference input resource.
|
OA
|
outputResource
|
1
|
RW
|
The resource ID of the inference output.
|
OA
|
No change from the CRUD procedures in clause 10.1[1].
No change from the CRUD procedures in clause 10.1[1].
No change from the CRUD procedures in clause 10.1[1].
In a
No change from the Create, Retrieve and Delete procedures in clause 10.1[1].
The mechanism and the resource structure of AI/ML dataset management is similar to the


Figure 7.2.1‑1: Resource structure for AI/ML dataset management
When the resources get instantiated it would look like the figure 7.2.1‑2. One dataset policy resource can have two dataset resources: one for historical dataset which is used for AI/ML model training, and the other is the live dataset for inference with the trained models. Each dataset resource contains dataset fragments.
The datasetFormat attribute in the


Figure 7.2.1‑2: Resource tree example
The
Table 7.2.2.1‑1: Child resources of |Child Resources of <mlDatasetPolicy>|Child Resource Type|Multiplicity|Description|<mlDatasetPolicy> Child Resource Types| |-|-|-|-|-| |[variable]|<semanticDescriptor>|0..n|See clause 9.6.30[1]|<semanticDescriptor>, <semanticDescriptorAnnc>| |[variable]||0..n|See clause 9.6.8[1]||
Child Resources of |
Child Resource Type
|
Multiplicity
|
Description
|
|
|---|---|---|---|---|
[variable]
|
0..n
|
See clause 9.6.30 [1]
|
||
[variable]
|
0..n
|
See clause 9.6.8 [1]
|
The
Table 7.2.2.1‑2: Attributes of |Attributes of <mlDatasetPolicy>|Multiplicity|RW/RO/WO|Description|<mlDatasetPolicyAnnc> Attributes| |-|-|-|-|-| |resourceType|1|RO|See clause 9.6.1.3[1]|NA| |resourceID|1|RO|See clause 9.6.1.3[1]|NA| |resourceName|1|WO|See clause 9.6.1.3[1]|NA| |parentID|1|RO|See clause 9.6.1.3[1]|NA| |expirationTime|1|RW|See clause 9.6.1.3[1]|MA| |accessControlPolicyIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |labels|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |creationTime|1|RO|See clause 9.6.1.3[1]|NA| |lastModifiedTime|1|RO|See clause 9.6.1.3[1]|NA| |announceTo|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announcedAttribute|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announceSyncType|0..1|RW|See clause 9.6.1.3[1]|MA| |dynamicAuthorizationConsultationIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|OA| |creator|0..1|RO|See clause 9.6.1.3[1]|NA| |custodian|0..1|RW|See clause 9.6.1.3[1]|NA| |sourceResourceIDs|1(L)|WO|The resource IDs which builds a datasetWhen the target resource is a <container> resource, content attribute of the children <contentInstance> resouces get included in the dataset.When the target resource is a <timeSeries> resource, content attribute of the cchildren <timeSeriesInstance> resouces get included in the dataset.When the target resource is a <flexContainer> resource, custom attributes of the children <flexContainerInstance> resouces get included in the dataset.|OA| |datasetStartTime|0..1|WO|The timestamp filter as the start time of source data resources. creationTime or dataGenerationTime depending on the source resource type, gets filtered.If datasetStartTime and datasetEndTime both are not provided, then all data instanes of source resources get included in the dataset.|OA| |datasetEndTime|0..1|WO|The timestamp filter as the end time of source data resources. creationTime or dataGenerationTime depending on the source resource type, gets filtered.If datasetStartTime and datasetEndTime both are not provided, then all data instanes of source resources get included in the dataset.|OA| |timeCorrelationStartTime|0..1|WO|When more than one data from source resources get batched as one, this timestamp indicates the start time of each recurring windows.|OA| |timeCorrelationDuration|0..1|WO|This indicates duration for each data batch window.|OA| |nullValuePolicy|0..1|WO|This indicates null(empty) value handling policy (e.g. leave as null, fill with last-known values) for the created dataset.|OA| |datasetFormat|1|WO|The serialization format of the dataset. (e.g. CSV, JSON)Note: CSV format is not supported in oneM2M yet.|OA| |historicalDatasetID|0..1|RO|The ID of the <dataset > resource for a training dataset which gets generated with existing source resources (i.e. historical data) referred by the sourceResourceIDs attribute.|OA| |numberOfRowsForHistoricalDataset|0..1|WO|The number of data fragment of the dataset is stored in a single <datasetFragment > resource.Default is all.|OA| |numberOfRowsForLiveDataset|0..1|WO|The number of data fragment of the dataset is stored in a single <datasetFragment > resource.Default is 1(one).|OA| |liveDatasetID|0..1|RO|The ID of the <dataset > resource for a dataset which gets generated with newly created source resources after creation of the <mlDatasetPolicy > resource. When the is numberOfDataForInference set, a separate <dataset > resource gets created for newly created source resources.|OA|
Attributes of |
Multiplicity
|
RW/ RO/ WO |
Description
|
|
|---|---|---|---|---|
resourceType
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceName
|
1
|
WO
|
See clause 9.6.1.3 [1]
|
NA
|
parentID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
expirationTime
|
1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
accessControlPolicyIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
labels
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
creationTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
lastModifiedTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
announceTo
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announcedAttribute
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announceSyncType
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
dynamicAuthorizationConsultationIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
OA
|
creator
|
0..1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
custodian
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
sourceResourceIDs
|
1(L)
|
WO
|
The resource IDs which builds a dataset When the target resource is a When the target resource is a When the target resource is a |
OA
|
datasetStartTime
|
0..1
|
WO
|
The timestamp filter as the start time of source data resources. creationTime or dataGenerationTime depending on the source resource type, gets filtered. If datasetStartTime and datasetEndTime both are not provided, then all data instanes of source resources get included in the dataset. |
OA
|
datasetEndTime
|
0..1
|
WO
|
The timestamp filter as the end time of source data resources. creationTime or dataGenerationTime depending on the source resource type, gets filtered. If datasetStartTime and datasetEndTime both are not provided, then all data instanes of source resources get included in the dataset. |
OA
|
timeCorrelationStartTime
|
0..1
|
WO
|
When more than one data from source resources get batched as one, this timestamp indicates the start time of each recurring windows.
|
OA
|
timeCorrelationDuration
|
0..1
|
WO
|
This indicates duration for each data batch window.
|
OA
|
nullValuePolicy
|
0..1
|
WO
|
This indicates null(empty) value handling policy (e.g. leave as null, fill with last-known values) for the created dataset.
|
OA
|
datasetFormat
|
1
|
WO
|
The serialization format of the dataset. (e.g. CSV, JSON) Note: CSV format is not supported in oneM2M yet. |
OA
|
historicalDatasetID
|
0..1
|
RO
|
The ID of the <dataset > resource for a training dataset which gets generated with existing source resources (i.e. historical data) referred by the sourceResourceIDs attribute.
|
OA
|
numberOfRowsForHistoricalDataset
|
0..1
|
WO
|
The number of data fragment of the dataset is stored in a single <datasetFragment > resource. Default is all. |
OA
|
numberOfRowsForLiveDataset
|
0..1
|
WO
|
The number of data fragment of the dataset is stored in a single <datasetFragment > resource. Default is 1(one). |
OA
|
liveDatasetID
|
0..1
|
RO
|
The ID of the <dataset > resource for a dataset which gets generated with newly created source resources after creation of the <mlDatasetPolicy > resource. When the is numberOfDataForInference set, a separate <dataset > resource gets created for newly created source resources.
|
OA
|
The
The
Table 7.2.2.2‑1: Child resources of |Child Resources of <dataset>|Child Resource Type|Multiplicity|Description|<dataset> Child Resource Types| |-|-|-|-|-| |[variable]|<semanticDescriptor>|0..n|See clause 9.6.30[1]|<semanticDescriptor>, <semanticDescriptorAnnc>| |[variable]||0..n|See clause 9.6.8[1]|| |la||1|This virual resource refers the latest <datasetFragment> resource.|None| |ol||1|This virual resource refers the oldest <datasetFragment> resource.|None| |[variable]|<datasetFragment>|0..n|See clause 7.1.2.3|<datasetFragmentAnnc>|
Child Resources of |
Child Resource Type
|
Multiplicity
|
Description
|
|
|---|---|---|---|---|
[variable]
|
0..n
|
See clause 9.6.30 [1]
|
||
[variable]
|
0..n
|
See clause 9.6.8 [1]
|
||
la
|
1
|
This virual resource refers the latest |
None
|
|
ol
|
1
|
This virual resource refers the oldest |
None
|
|
[variable]
|
0..n
|
See clause 7.1.2.3
|
The
Table 7.2.2.2‑2: Attributes of |Attributes of <dataset>|Multiplicity|RW/RO/WO|Description|<datasetAnnc> Attributes| |-|-|-|-|-| |resourceType|1|RO|See clause 9.6.1.3[1]|NA| |resourceID|1|RO|See clause 9.6.1.3[1]|NA| |resourceName|1|RO|See clause 9.6.1.3[1]|NA| |parentID|1|RO|See clause 9.6.1.3[1]|NA| |expirationTime|1|RO|See clause 9.6.1.3[1]|MA| |accessControlPolicyIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |labels|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |creationTime|1|RO|See clause 9.6.1.3[1]|NA| |lastModifiedTime|1|RO|See clause 9.6.1.3[1]|NA| |announceTo|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announcedAttribute|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announceSyncType|0..1|RW|See clause 9.6.1.3[1]|MA| |dynamicAuthorizationConsultationIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|OA| |creator|0..1|RO|See clause 9.6.1.3[1]|NA| |custodian|0..1|RW|See clause 9.6.1.3[1]|NA| |mlDatasetPolicyID|1|RO|The ID of the <mlDatasetPolicyID > resource which generated this <dataset > resource.|OA| |listOfFeatures|1|RO|The list of dataset feature names.|OA|
Attributes of |
Multiplicity
|
RW/ RO/ WO |
Description
|
|
|---|---|---|---|---|
resourceType
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceName
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
parentID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
expirationTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
MA
|
accessControlPolicyIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
labels
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
creationTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
lastModifiedTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
announceTo
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announcedAttribute
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announceSyncType
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
dynamicAuthorizationConsultationIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
OA
|
creator
|
0..1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
custodian
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
mlDatasetPolicyID
|
1
|
RO
|
The ID of the <mlDatasetPolicyID > resource which generated this <dataset > resource.
|
OA
|
listOfFeatures
|
1
|
RO
|
The list of dataset feature names.
|
OA
|
NOTE: management mechanism for location attribute of a dataset which merges more than one data sharing resources is FFS
The
The
Table 7.2.2.3‑1: Attributes of |Attributes of <datasetFragment>|Multiplicity|RW/RO/WO|Description|<datasetFragmentAnnc> Attributes| |-|-|-|-|-| |resourceType|1|RO|See clause 9.6.1.3[1]|NA| |resourceID|1|RO|See clause 9.6.1.3[1]|NA| |resourceName|1|RO|See clause 9.6.1.3[1]|NA| |parentID|1|RO|See clause 9.6.1.3[1]|NA| |labels|0..1 (L)|WO|See clause 9.6.1.3[1]|MA| |creationTime|1|RO|See clause 9.6.1.3[1]|NA| |expirationTime|1|WO|See clause 9.6.1.3[1]|NA| |announceTo|0..1 (L)|WO|See clause 9.6.1.3[1]|NA| |announcedAttribute|0..1 (L)|WO|See clause 9.6.1.3[1]|NA| |announceSyncType|0..1|RW|See clause 9.6.1.3[1]|MA| |lastModifiedTime|1|RO|See clause 9.6.1.3[1]|NA| |datasetFragmentStartTime |1|RO|The oldest timestamp among the data in the dataset attribute.|OA| |datasetFragmentEndTime|1|RO|The latest timestamp among the data in the dataset attribute.|OA| |numberOfRowsInFragment|1|RO|The number of data in the dataset attribute.|OA| |datasetFragment|1|RO|The dataset fragment generated by the <mlDatasetPolicy > resource, referred by mlDatasetPolicyID of the parent <dataset > resource.|OA| |datasetFormat|1|RO|The serialization format of the dataset. (e.g. CSV, JSON)Note: CSV format is not supported in oneM2M yet.|OA|
Attributes of |
Multiplicity
|
RW/ RO/ WO |
Description
|
|
|---|---|---|---|---|
resourceType
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceName
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
parentID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
labels
|
0..1 (L)
|
WO
|
See clause 9.6.1.3 [1]
|
MA
|
creationTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
expirationTime
|
1
|
WO
|
See clause 9.6.1.3 [1]
|
NA
|
announceTo
|
0..1 (L)
|
WO
|
See clause 9.6.1.3 [1]
|
NA
|
announcedAttribute
|
0..1 (L)
|
WO
|
See clause 9.6.1.3 [1]
|
NA
|
announceSyncType
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
lastModifiedTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
datasetFragmentStartTime
|
1
|
RO
|
The oldest timestamp among the data in the dataset attribute.
|
OA
|
datasetFragmentEndTime
|
1
|
RO
|
The latest timestamp among the data in the dataset attribute.
|
OA
|
numberOfRowsInFragment
|
1
|
RO
|
The number of data in the dataset attribute.
|
OA
|
datasetFragment
|
1
|
RO
|
The dataset fragment generated by the <mlDatasetPolicy > resource, referred by mlDatasetPolicyID of the parent <dataset > resource.
|
OA
|
datasetFormat
|
1
|
RO
|
The serialization format of the dataset. (e.g. CSV, JSON) Note: CSV format is not supported in oneM2M yet. |
OA
|
No change from the CRUD procedures in clause 10.1[1].
Editor’s Note: How to merge structured data into a single dataset is FFS. (e.g. flattening structured data to merge into one dataset table)
oneM2M serves as a fundamental Internet of Things (IoT) platform for collecting and managing diverse data. Artificial Intelligence (AI) and Machine Learning (ML) applications extensively utilise data gathered within IoT platforms for model training. The performance of AI models is directly influenced by the quality and quantity of the collected dataset used for training. In order to facilitate the effective deployment of AI/ML models, it is crucial that the IoT platform provides robust capabilities for managing the entire AI/ML lifecycle, particularly concerning data and model management. This includes the ability to organise datasets into distinct categories such as training, validation, and testing sets, which are essential for rigorous model development and evaluation. Furthermore, effective AI/ML execution requires the management of selected algorithms, their corresponding parameters, and the resulting trained models directly within the oneM2M ecosystem.
Given the increasing integration of AI/ML technologies across various network systems, including telecommunication core networks, smart factory platforms, and IoT platforms, it is imperative to incorporate necessary AI enablement features directly into IoT platforms. By leveraging oneM2M platforms that support standardized AI/ML data and model management, AI applications can more readily develop and deploy intelligent services by utilizing platform-provided functionalities rather than implementing complex, bespoke solutions.
This proposal introduces a new resource,
Key features of the
Preconditions and Assumptions for this Proposal: Preconditions and Assumptions for this Proposal: This proposed mechanism is based on the following key preconditions and assumptions: - Data Availability on oneM2M Platform: It is assumed that the oneM2M platform either already holds or can reliably acquire all necessary data for both model training and subsequent prediction tasks. This implies that relevant data sources (e.g., from sensors, devices) are accessible via oneM2M resources. - AI/ML Algorithm Awareness: It is assumed that the oneM2M platform, potentially through an "AI-enabled Common Service Function (CSF)" or similar entity, possesses knowledge of a predefined list of available ML algorithms that can be utilized for model building. - AI/ML Application Interaction: AI/ML applications are expected to interact with the oneM2M platform by creating and configuring <mlModelBuilder> resources, controlling model builds, and subsequently retrieving the trained models for their specific inference tasks.
This proposed mechanism is based on the following key preconditions and assumptions:
By providing these capabilities within oneM2M, AI/ML applications can streamline the model development workflow, leveraging the platform's existing data management strengths and reducing the complexity associated with off-platform data handling and model lifecycle management.
The
Table 7.3.2.1‑1: Child resources of |Child Resources of <mlModelBuilder>|Child Resource Type|Multiplicity|Description|<mlModelBuilder> Child Resource Types| |-|-|-|-|-| |[variable]|<semanticDescriptor>|0..n|See clause 9.6.30[1]|<semanticDescriptor>, <semanticDescriptorAnnc>| |[variable]||0..n|See clause 9.6.8[1]|| |[variable]||0..n|See clause 9.6.48[1]|| |[variable]||0..n|See clause 9.6.61[1]||
Child Resources of |
Child Resource Type
|
Multiplicity
|
Description
|
|
|---|---|---|---|---|
[variable]
|
0..n
|
See clause 9.6.30 [1]
|
||
[variable]
|
0..n
|
See clause 9.6.8 [1]
|
||
[variable]
|
0..n
|
See clause 9.6.48 [1]
|
||
[variable]
|
0..n
|
See clause 9.6.61 [1]
|
The
Table 7.3.2.1‑2: Attributes of |Attributes of <mlModelBuilder>|Multiplicity|RW/RO/WO|Description|<mlModelBuilderAnnc> Attributes| |-|-|-|-|-| |resourceType|1|RO|See clause 9.6.1.3[1]|NA| |resourceID|1|RO|See clause 9.6.1.3[1]|NA| |resourceName|1|WO|See clause 9.6.1.3[1]|NA| |parentID|1|RO|See clause 9.6.1.3[1]|NA| |expirationTime|1|RW|See clause 9.6.1.3[1]|MA| |accessControlPolicyIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |labels|0..1 (L)|RW|See clause 9.6.1.3[1]|MA| |creationTime|1|RO|See clause 9.6.1.3[1]|NA| |lastModifiedTime|1|RO|See clause 9.6.1.3[1]|NA| |announceTo|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announcedAttribute|0..1 (L)|RW|See clause 9.6.1.3[1]|NA| |announceSyncType|0..1|RW|See clause 9.6.1.3[1]|MA| |dynamicAuthorizationConsultationIDs|0..1 (L)|RW|See clause 9.6.1.3[1]|OA| |creator|0..1|RO|See clause 9.6.1.3[1]|NA| |custodian|0..1|RW|See clause 9.6.1.3[1]|NA| |datasetTrain|0..1 (L)|RW|A list of resources storing training data. This attribute can contain multiple resource references, allowing for distributed or segmented training datasets.|OA| |datasetValidation|0..1 (L)|RW|A list of resources storing validation data. Similar to datasetTrain, it can hold multiple references.|OA| |datasetTest|0..1 (L)|RW|A list of resources for testing a model. This attribute can also contain multiple resource references.|OA| |selectedModel|0..1|RW|An ML algorithm that represents the model to be performed. This specifies which type of ML model (e.g., Linear Regression, Neural Network, Decision Tree) the platform should use.|OA| |modelParameters|0..1|RW|The parameters (hyperparameters) utilized by the selected algorithm. This could be a complex data structure (e.g., JSON or XML) defining learning rates, epochs, layer configurations, etc.|OA| |trainedModel|0..1|RO|The resulting model (e.g., executable software, a model file, or a reference to a model registry) after the successful completion of training and validation.|OA| |controlBuildModel|0..1|WO|This is a write-only attribute used to control the model building process. For example, this attribute can indicate various control actions such as start, pause, stop, and restart. When updated, the platform performs the corresponding operation. The assumption is that proper values for datasetTrain, datasetValidation, datasetTest, and selectedModel must be pre-configured before triggering.|OA| |modelBuildStatus|0..1| RO | This attribute indicates the current status of the model build process initiated by controlBuildModel. This attribute allows applications to monitor the build progression and completion. Applications can subscribe to changes in this attribute to detect when the model build has been successfully completed or altered its state. Possible status this attribute could indicate include: Pending, In progress, Successful and Failed.|OA|
Editor’s note: It is FFS how and where to manage an actual trained model build out of this resource including architectural options (e.g., dedicated model repository resource, 3rd party location) and overall lifecycle management (e.g., versioning, deployment).
Attributes of |
Multiplicity
|
RW/ RO/ WO |
Description
|
|
|---|---|---|---|---|
resourceType
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
resourceName
|
1
|
WO
|
See clause 9.6.1.3 [1]
|
NA
|
parentID
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
expirationTime
|
1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
accessControlPolicyIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
labels
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
creationTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
lastModifiedTime
|
1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
announceTo
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announcedAttribute
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
announceSyncType
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
MA
|
dynamicAuthorizationConsultationIDs
|
0..1 (L)
|
RW
|
See clause 9.6.1.3 [1]
|
OA
|
creator
|
0..1
|
RO
|
See clause 9.6.1.3 [1]
|
NA
|
custodian
|
0..1
|
RW
|
See clause 9.6.1.3 [1]
|
NA
|
datasetTrain
|
0..1 (L)
|
RW
|
A list of resources storing training data. This attribute can contain multiple resource references, allowing for distributed or segmented training datasets.
|
OA
|
datasetValidation
|
0..1 (L)
|
RW
|
A list of resources storing validation data. Similar to datasetTrain, it can hold multiple references.
|
OA
|
datasetTest
|
0..1 (L)
|
RW
|
A list of resources for testing a model. This attribute can also contain multiple resource references.
|
OA
|
selectedModel
|
0..1
|
RW
|
An ML algorithm that represents the model to be performed. This specifies which type of ML model (e.g., Linear Regression, Neural Network, Decision Tree) the platform should use.
|
OA
|
modelParameters
|
0..1
|
RW
|
The parameters (hyperparameters) utilized by the selected algorithm. This could be a complex data structure (e.g., JSON or XML) defining learning rates, epochs, layer configurations, etc.
|
OA
|
trainedModel
|
0..1
|
RO
|
The resulting model (e.g., executable software, a model file, or a reference to a model registry) after the successful completion of training and validation.
|
OA
|
controlBuildModel
|
0..1
|
WO
|
This is a write-only attribute used to control the model building process. For example, this attribute can indicate various control actions such as start, pause, stop, and restart. When updated, the platform performs the corresponding operation. The assumption is that proper values for datasetTrain, datasetValidation, datasetTest, and selectedModel must be pre-configured before triggering.
|
OA
|
modelBuildStatus
|
0..1
|
RO
|
This attribute indicates the current status of the model build process initiated by controlBuildModel. This attribute allows applications to monitor the build progression and completion. Applications can subscribe to changes in this attribute to detect when the model build has been successfully completed or altered its state. Possible status this attribute could indicate include: Pending, In progress, Successful and Failed.
|
OA
|
Editor’s note: It is FFS how and where to manage and operate the mlM actual trained modelB builder resource, especially for recurrent model build processes or when external control is required (e.g., via a semantic mash-up profile or other resources supporting process manage out of this resource including architectural options (e.g., dedicated model repository resource, 3rd party location) and overall lifecycle management (e.g., versioning, deployment).
Editor’s note: It is FFS how to manage and operate the mlModelBuilder resource, especially for recurrent model build processes or when external control is required (e.g., via a semantic mash-up profile or other resources supporting process management).