7 Proposed Solutions

Editor’s Note: The section provides various AI/ML solutions for potential requirements.

7.1 AI/ML model management

7.1.1 Overview

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-1Figure 7.1.1-1: Resource tree structure for ML model management
Figure 7.1.1‑1: Resource tree structure for ML model management

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.

7.1.2 Resource types

7.1.2.1 Resource Type modelRepo

The

Table 7.1.2.1‑1: Child resources of resource |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
Child Resource Types
[variable]
0..n
,
[variable]
0..n
[variable]
0..n
[variable]
1
None
[variable]
1
None

The resource shall contain the attributes specified in table 7.1.2.1‑2.

Table 7.1.2.1‑2: Attributes of resource |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|

7.1.2.2 Resource Type mlModel

Attributes of
Multiplicity
RW/
RO/
WO
Description
Attributes
resourceType
1
RO
NA
resourceID
1
RO
NA
resourceName
1
WO
NA
parentID
1
RO
NA
expirationTime
1
RW
MA
accessControlPolicyIDs
0..1 (L)
RW
MA
labels
0..1 (L)
RW
MA
creationTime
1
RO
NA
lastModifiedTime
1
RO
NA
announceTo
0..1 (L)
RW
NA
announcedAttribute
0..1 (L)
RW
NA
announceSyncType
0..1
RW
MA
dynamicAuthorizationConsultationIDs
0..1 (L)
RW
OA
creator
0..1
RO
NA
custodian
0..1
RW
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

7.1.2.2 Resource Type mlModel

The

Table 7.1.2.2‑1: Child resources of resource |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
Child Resource Types
[variable]
0..n
,
[variable]
0..n

The resource shall contain the attributes specified in table 7.1.2.2‑2.

Table 7.1.2.2‑2: Attributes of resource |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|

7.1.2.3 Resource Type modelDeploymentList

Attributes of
Multiplicity
RW/
RO/
WO
Description
Attributes
resourceType
1
RO
NA
resourceID
1
RO
NA
resourceName
1
WO
NA
parentID
1
RO
NA
expirationTime
1
RW
MA
accessControlPolicyIDs
0..1 (L)
RW
MA
labels
0..1 (L)
RW
MA
creationTime
1
RO
NA
lastModifiedTime
1
RO
NA
announceTo
0..1 (L)
RW
NA
announcedAttribute
0..1 (L)
RW
NA
announceSyncType
0..1
RW
MA
dynamicAuthorizationConsultationIDs
0..1 (L)
RW
OA
creator
0..1
RO
NA
custodian
0..1
RW
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

7.1.2.3 Resource Type modelDeploymentList

The

Table 7.1.2.3‑1: Child resources of resource |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
Child Resource Types
[variable]
0..n
,
[variable]
0..n
[variable]
0..n
See 7.1.2.4

The resource shall contain the attributes specified in table 7.1.2.3‑2.

Table 7.1.2.3‑2: Attributes of resource |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|

7.1.2.4 Resource Type modelDeployment

Attributes of
Multiplicity
RW/
RO/
WO
Description
Attributes
resourceType
1
RO
NA
resourceID
1
RO
NA
resourceName
1
WO
NA
parentID
1
RO
NA
expirationTime
1
RW
MA
accessControlPolicyIDs
0..1 (L)
RW
MA
labels
0..1 (L)
RW
MA
creationTime
1
RO
NA
lastModifiedTime
1
RO
NA
announceTo
0..1 (L)
RW
NA
announcedAttribute
0..1 (L)
RW
NA
announceSyncType
0..1
RW
MA
dynamicAuthorizationConsultationIDs
0..1 (L)
RW
OA
creator
0..1
RO
NA
custodian
0..1
RW
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

7.1.2.4 Resource Type modelDeployment

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 resource |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
Child Resource Types
[variable]
0..n
,
[variable]
0..n

The resource shall contain the attributes specified in table 7.1.2.4‑2.

Table 7.1.2.4‑2: Attributes of resource |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|

7.1.3 Procedures

Attributes of
Multiplicity
RW/
RO/
WO
Description
Attributes
resourceType
1
RO
NA
resourceID
1
RO
NA
resourceName
1
WO
NA
parentID
1
RO
NA
expirationTime
1
RW
MA
accessControlPolicyIDs
0..1 (L)
RW
MA
labels
0..1 (L)
RW
MA
creationTime
1
RO
NA
lastModifiedTime
1
RO
NA
announceTo
0..1 (L)
RW
NA
announcedAttribute
0..1 (L)
RW
NA
announceSyncType
0..1
RW
MA
dynamicAuthorizationConsultationIDs
0..1 (L)
RW
OA
creator
0..1
RO
NA
custodian
0..1
RW
NA
modelID
1(L)
WO
The resource ID of the 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

7.1.3.1 Procedures for

7.1.3 Procedures

7.1.3.1 Procedures for

No change from the CRUD procedures in clause 10.1[1].

7.1.3.2 Procedures for

No change from the CRUD procedures in clause 10.1[1].

7.1.3.3 Procedures for

No change from the CRUD procedures in clause 10.1[1].

7.1.3.4 Procedures for

In a

No change from the Create, Retrieve and Delete procedures in clause 10.1[1].

7.2 AI/ML dataset management

7.2.1 Overview

The mechanism and the resource structure of AI/ML dataset management is similar to the [1]. When an AE creates the resource with preferred policies for the Hosting CSE, the AI/ML dataset is created and managed by the Hosting CSE on behalf of the AE. Once a dataset is managed, other AEs can use the datasets for different applications.

Figure 7.2.1-1Figure 7.2.1-1: Resource structure for AI/ML dataset management
Figure 7.2.1‑1: Resource structure for AI/ML dataset management

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-2Figure 7.2.1-2: Resource tree example
Figure 7.2.1‑2: Resource tree example

Figure 7.2.1‑2: Resource tree example

7.2.2 Resource types

7.2.2.1 Resource Type mlDatasetPolicy

The

Table 7.2.2.1‑1: Child resources of resource |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
Child Resource Types
[variable]
0..n
,
[variable]
0..n

The resource shall contain the attributes specified in table 7.2.2.1‑2.

Table 7.2.2.1‑2: Attributes of resource |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|

7.2.2.2 Resource Type dataset

Attributes of
Multiplicity
RW/
RO/
WO
Description
Attributes
resourceType
1
RO
NA
resourceID
1
RO
NA
resourceName
1
WO
NA
parentID
1
RO
NA
expirationTime
1
RW
MA
accessControlPolicyIDs
0..1 (L)
RW
MA
labels
0..1 (L)
RW
MA
creationTime
1
RO
NA
lastModifiedTime
1
RO
NA
announceTo
0..1 (L)
RW
NA
announcedAttribute
0..1 (L)
RW
NA
announceSyncType
0..1
RW
MA
dynamicAuthorizationConsultationIDs
0..1 (L)
RW
OA
creator
0..1
RO
NA
custodian
0..1
RW
NA
sourceResourceIDs
1(L)
WO
The resource IDs which builds a dataset
When the target resource is a resource, content attribute of the children resouces get included in the dataset.
When the target resource is a resource, content attribute of the cchildren resouces get included in the dataset.
When the target resource is a resource, custom attributes of the children 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

7.2.2.2 Resource Type dataset

The

The

Table 7.2.2.2‑1: Child resources of resource |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
Child Resource Types
[variable]
0..n
,
[variable]
0..n
la
1
This virual resource refers the latest resource.
None
ol
1
This virual resource refers the oldest resource.
None
[variable]
0..n

The resource shall contain the attributes specified in table 7.2.2.2‑2.

Table 7.2.2.2‑2: Attributes of resource |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
Attributes
resourceType
1
RO
NA
resourceID
1
RO
NA
resourceName
1
RO
NA
parentID
1
RO
NA
expirationTime
1
RO
MA
accessControlPolicyIDs
0..1 (L)
RW
MA
labels
0..1 (L)
RW
MA
creationTime
1
RO
NA
lastModifiedTime
1
RO
NA
announceTo
0..1 (L)
RW
NA
announcedAttribute
0..1 (L)
RW
NA
announceSyncType
0..1
RW
MA
dynamicAuthorizationConsultationIDs
0..1 (L)
RW
OA
creator
0..1
RO
NA
custodian
0..1
RW
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

7.2.2.3 Resource Type datasetFragment

The

The resource shall contain the attributes specified in table 7.2.2.3‑1.

Table 7.2.2.3‑1: Attributes of resource |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|

7.2.3 Procedures

Attributes of
Multiplicity
RW/
RO/
WO
Description
Attributes
resourceType
1
RO
NA
resourceID
1
RO
NA
resourceName
1
RO
NA
parentID
1
RO
NA
labels
0..1 (L)
WO
MA
creationTime
1
RO
NA
expirationTime
1
WO
NA
announceTo
0..1 (L)
WO
NA
announcedAttribute
0..1 (L)
WO
NA
announceSyncType
0..1
RW
MA
lastModifiedTime
1
RO
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

7.2.3.1 Procedures for

7.2.3 Procedures

7.2.3.1 Procedures for

No change from the CRUD procedures in clause 10.1[1].

7.2.3.2 Procedures for

A clause 10.1[1].

7.2.3.3 Procedures for

A 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)

7.3 AI/ML Training Model Management

7.3.1 Overview

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, , within the oneM2M platform to facilitate comprehensive data and model management for AI/ML applications. This resource provides the necessary functionalities for AI/ML applications to construct predictive models.

Key features of the

  • Training Dataset Classification: Enables the classification and management of datasets into training, validation, and testing sets, vital for the iterative process of model development and evaluation.
  • AI/ML Model Selection and Parameters: Provides mechanisms to specify the AI/ML algorithm an AI application intends to use and to define the required hyperparameters for the selected model.
  • Trained Model Management: Facilitates the management and storage of the resulting model subsequent to the training and validation processes, making the learned model accessible for inference.
  • Model Building Control: Provides a controlling mechanism to initiate the model building process, assuming that all prerequisites are met.

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:

  • 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 resources, controlling model builds, and subsequently retrieving the trained models for their specific inference tasks.

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.

7.3.2 Resource types

7.3.2.1 Resource Type mlModelBuilder

The resource represents.

Table 7.3.2.1‑1: Child resources of resource |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
Child Resource Types
[variable]
0..n
,
[variable]
0..n
[variable]
0..n
[variable]
0..n

The resource shall contain the attributes specified in table 7.3.2.1‑2.

Table 7.3.2.1‑2: Attributes of resource |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
Attributes
resourceType
1
RO
NA
resourceID
1
RO
NA
resourceName
1
WO
NA
parentID
1
RO
NA
expirationTime
1
RW
MA
accessControlPolicyIDs
0..1 (L)
RW
MA
labels
0..1 (L)
RW
MA
creationTime
1
RO
NA
lastModifiedTime
1
RO
NA
announceTo
0..1 (L)
RW
NA
announcedAttribute
0..1 (L)
RW
NA
announceSyncType
0..1
RW
MA
dynamicAuthorizationConsultationIDs
0..1 (L)
RW
OA
creator
0..1
RO
NA
custodian
0..1
RW
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).

7.n Solution n

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).

7.n Solution n