ETSI TR 103 675 V1.1.1 (2020-12)
SmartM2M; AI for IoT: A Proof of Concept
SmartM2M; AI for IoT: A Proof of Concept
DTR/SmartM2M-103675
General Information
Standards Content (Sample)
ETSI TR 103 675 V1.1.1 (2020-12)
TECHNICAL REPORT
SmartM2M;
AI for IoT: A Proof of Concept
---------------------- Page: 1 ----------------------
2 ETSI TR 103 675 V1.1.1 (2020-12)
Reference
DTR/SmartM2M-103675
Keywords
architecture, artificial intelligence, IoT, oneM2M
ETSI
650 Route des Lucioles
F-06921 Sophia Antipolis Cedex - FRANCE
Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16
Siret N° 348 623 562 00017 - NAF 742 C
Association à but non lucratif enregistrée à la
Sous-Préfecture de Grasse (06) N° 7803/88
Important notice
The present document can be downloaded from:
http://www.etsi.org/standards-search
The present document may be made available in electronic versions and/or in print. The content of any electronic and/or
print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any
existing or perceived difference in contents between such versions and/or in print, the prevailing version of an ETSI
deliverable is the one made publicly available in PDF format at www.etsi.org/deliver.
Users of the present document should be aware that the document may be subject to revision or change of status.
Information on the current status of this and other ETSI documents is available at
https://portal.etsi.org/TB/ETSIDeliverableStatus.aspx
If you find errors in the present document, please send your comment to one of the following services:
https://portal.etsi.org/People/CommiteeSupportStaff.aspx
Copyright Notification
No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying
and microfilm except as authorized by written permission of ETSI.
The content of the PDF version shall not be modified without the written authorization of ETSI.
The copyright and the foregoing restriction extend to reproduction in all media.
© ETSI 2020.
All rights reserved.
DECT™, PLUGTESTS™, UMTS™ and the ETSI logo are trademarks of ETSI registered for the benefit of its Members.
3GPP™ and LTE™ are trademarks of ETSI registered for the benefit of its Members and
of the 3GPP Organizational Partners.
oneM2M™ logo is a trademark of ETSI registered for the benefit of its Members and
of the oneM2M Partners.
®
GSM and the GSM logo are trademarks registered and owned by the GSM Association.
ETSI
---------------------- Page: 2 ----------------------
3 ETSI TR 103 675 V1.1.1 (2020-12)
Contents
Intellectual Property Rights . 5
Foreword . 5
Modal verbs terminology . 5
Introduction . 5
1 Scope . 6
2 References . 6
2.1 Normative references . 6
2.2 Informative references . 6
3 Definition of terms, symbols and abbreviations . 7
3.1 Terms . 7
3.2 Symbols . 7
3.3 Abbreviations . 7
4 AI and oneM2M: A Proof of Concept . 8
4.1 The Proof of Concept Use Cases . 8
4.2 An implementation and the lessons learned . 8
4.3 Purpose and content of the present document . 8
5 Use Cases implemented for the Proof of Concept . 8
5.0 Foreword . 8
5.1 PoC UC1: Fault management and isolation for IoT field devices . 9
5.2 PoC UC2: Detection of patterns in video streams . 9
5.3 PoC UC3: Language-based pattern recognition in social media/crowdsourced data for occurrences
classification . 9
6 Details of the Proof of Concept Implementation . 10
6.1 PoC UC1: Fault management and isolation for IoT field devices . 10
6.1.1 Architecture . 10
6.1.2 Resources and attributes . 11
6.1.3 Message flow . 11
6.1.4 Implementation . 12
6.1.5 Demonstration . 16
6.2 PoC UC2: Detection of patterns in video streams . 17
6.2.1 Architecture . 17
6.2.2 Resources and attributes . 18
6.2.3 Message flow . 18
6.2.4 Implementation . 20
6.2.5 Demonstration . 24
6.3 PoC UC3: Occurrences Classification . 26
6.3.1 Architecture . 26
6.3.2 Resources and attributes . 27
6.3.3 Message flow . 27
6.3.4 Implementation . 29
6.3.5 Demonstration . 34
7 Lessons learned . 36
7.1 Main lessons . 36
7.2 Implementation specific lessons . 36
Annex A: Change History . 37
History . 38
ETSI
---------------------- Page: 3 ----------------------
4 ETSI TR 103 675 V1.1.1 (2020-12)
Figures
Figure 1: High-Level Architecture of Use Case 1 .10
Figure 2: Fault detection policy .11
Figure 3: Sequence diagram of Use Case 1 .12
Figure 4: High-Level Architecture of Use Case 2 .17
Figure 5 .18
Figure 6: Sequence diagram of Use Case 2 .19
Figure 7: High-Level Architecture of Use Case 3 .26
Figure 8 .27
Figure 9: Sequence Diagram for Use Case 3 .28
Figure 10: An example of the overall occurrences classification use case system running with user-provided text content
.34
Figure 11: An example of the occurrences' classification CSE .34
Figure 12: An example of the CSE creating the AE resources .35
Figure 13: An example of the two AEs respectively publishing text to the gateway (above) and being notified for
occurrences classification (below) .35
ETSI
---------------------- Page: 4 ----------------------
5 ETSI TR 103 675 V1.1.1 (2020-12)
Intellectual Property Rights
Essential patents
IPRs essential or potentially essential to normative deliverables may have been declared to ETSI. The information
pertaining to these essential IPRs, if any, is publicly available for ETSI members and non-members, and can be found
in ETSI SR 000 314: "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to ETSI in
respect of ETSI standards", which is available from the ETSI Secretariat. Latest updates are available on the ETSI Web
server (https://ipr.etsi.org/).
Pursuant to the ETSI IPR Policy, no investigation, including IPR searches, has been carried out by ETSI. No guarantee
can be given as to the existence of other IPRs not referenced in ETSI SR 000 314 (or the updates on the ETSI Web
server) which are, or may be, or may become, essential to the present document.
Trademarks
The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners.
ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and conveys no
right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does
not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks.
Foreword
This Technical Report (TR) has been produced by ETSI Technical Committee Smart Machine-to-Machine
communications (SmartM2M).
Modal verbs terminology
In the present document "should", "should not", "may", "need not", "will", "will not", "can" and "cannot" are to be
interpreted as described in clause 3.2 of the ETSI Drafting Rules (Verbal forms for the expression of provisions).
"must" and "must not" are NOT allowed in ETSI deliverables except when used in direct citation.
Introduction
The present document is addressing the development of a Proof of Concept based on three Use Cases analysed and
selected in the associated ETSI TR 103 674 [i.1]. ETSI TR 103 674 [i.1] addresses the issues related to the introduction
of AI into IoT systems and, as first priority, into the oneM2M architecture. ETSI TR 103 674 [i.1] has identified and
described several Use Cases of which three are used for the development of the Proof of Concept described in the
present document.
ETSI
---------------------- Page: 5 ----------------------
6 ETSI TR 103 675 V1.1.1 (2020-12)
1 Scope
The following points are discussed:
• Description of the Use Case implemented as a Proof of Concept.
• Description of the implementation: architecture, oneM2M platform used, open source support, etc.
• Main findings regarding the impact on the oneM2M architecture.
• Lessons learned, guidelines and recommendations.
2 References
2.1 Normative references
Normative references are not applicable in the present document.
2.2 Informative references
References are either specific (identified by date of publication and/or edition number or version number) or
non-specific. For specific references, only the cited version applies. For non-specific references, the latest version of the
referenced document (including any amendments) applies.
NOTE: While any hyperlinks included in this clause were valid at the time of publication ETSI cannot guarantee
their long-term validity.
The following referenced documents are not necessary for the application of the present document, but they assist the
user with regard to a particular subject area.
[i.1] ETSI TR 103 674 (2020): "SmartM2M; Artificial Intelligence and the oneM2M architecture".
[i.2] Kaggle: "Real or Not? NLP with Disaster Tweets".
NOTE: Available at https://www.kaggle.com/c/nlp-getting-started.
[i.3] GloVe: "Global Vectors for Word Representation".
NOTE: Available at https://nlp.stanford.edu/projects/glove/.
[i.4] Readthedocs: "Gateway and backend configuration".
NOTE: Available at https://fiware-openmtc.readthedocs.io/en/latest/reference-doc/gateway-and-backend-
configuration/index.html.
[i.5] GitHub: "Gateway and backend configuration".
NOTE: Available at https://github.com/OpenMTC/OpenMTC/blob/master/doc/reference-doc/gateway-and-
backend-configuration.md#pluginsopenmtc-cse.
[i.6] ISO/IEC 2382-31:1997: "Information technology -- Vocabulary -- Part 31: Artificial intelligence --
Machine learning".
NOTE: This standard is withdrawn and revised by ISO/IEC 2382:2015.
[i.7] ETSI TR 103 306: "CYBER; Global Cyber Security Ecosystem".
ETSI
---------------------- Page: 6 ----------------------
7 ETSI TR 103 675 V1.1.1 (2020-12)
3 Definition of terms, symbols and abbreviations
3.1 Terms
For the purposes of the present document, the following terms apply:
Artificial Intelligence (AI): refers to "a system's ability to correctly interpret external data, to learn from such data, and
to use those learnings to achieve specific goals and tasks through flexible adaptation"
Machine Learning (ML):
• Machine Learning is the process by which a functional unit improves its performance by acquiring new
knowledge or skills, or by reorganizing existing knowledge or skills.
NOTE 1: Source ISO/IEC 2382-31 [i.6].
• Machine Learning is the scientific study of algorithms and statistical models that computer systems use to
perform a specific task without using explicit instructions, relying on patterns and inference instead. It is seen
as a subset of artificial intelligence.
NOTE 2: Source Wikipedia.
oneM2M: Partnership Project (PP) on M2M launched by a number of SSOs including ETSI
open source license: type of license for computer software and other products that allows the source code, blueprint or
design to be used, modified and/or shared under defined terms and conditions
NOTE: Examples of popular Open Source licenses are: Apache License 2.0, GNU General Public License (GPL)
or Eclipse Public License.
Open Source Software (OSS): computer software that is available in source code form
NOTE: The source code and certain other rights normally reserved for copyright holders are provided under an
Open Source license that permits users to study, change, improve and at times also to distribute the
software.
Standards Development Organization (SDO): standards setting organization that has a formal recognition by
international treaties, regulation, etc.
NOTE: In the present document, SSO is used equally for both Standards Setting Organization or Standards
Developing Organizations (SDO).
Standards Setting Organization (SSO): any entity whose primary activities are developing, coordinating,
promulgating, revising, amending, reissuing, interpreting or otherwise maintaining standards that address the interests
of a wide base of users outside the standards development organization
3.2 Symbols
Void.
3.3 Abbreviations
For the purposes of the present document, the abbreviations given in ETSI TR 103 306 [i.7] and the following apply:
AI Artificial Intelligence
API Application Programming Interface
ARIMA Autoregressive Integrated Moving Average
IoT Internet of Things
ML Machine Learning
OSS Open Source Software
PoC Proof of Concept
ETSI
---------------------- Page: 7 ----------------------
8 ETSI TR 103 675 V1.1.1 (2020-12)
SDO Standard Development Organization
SSO Standards Setting Organization
UC Use Case
4 AI and oneM2M: A Proof of Concept
4.1 The Proof of Concept Use Cases
The emergence of Artificial Intelligence (AI) and Machine Learning (ML) solutions applicable within IoT systems is an
opportunity to introduce new functionalities as well as a potential challenge to the existing solutions.
The Proof of Concept (PoC) described in the present document is based on the collection and analysis of relevant use
cases done in the associated ETSI TR 103 674 [i.1]. ETSI TR 103 674 [i.1] has made a detailed analysis of the potential
impact of AI/ML on the IoT systems architectures and solutions, identified and described several Use Cases of which
three are used for the development of the Proof of Concept described in the present document and identified the main
validation objectives for the Proof of Concept described in the present document.
4.2 An implementation and the lessons learned
The present document is focused on the presentation of the PoC implementation: a description of the selected UC, the
presentation of the technical solutions chosen for the implementation of the UC, and a discussion of the main impacts
identified during the implementation.
4.3 Purpose and content of the present document
The present document addresses the implementation of a Proof of Concept (PoC) designed for an evaluation of the
potential impact (in particular in terms of improvement) that Artificial Intelligence can bring to IoT systems, more
specifically its impact on existing solutions such as the service layer architecture developed by the oneM2M Partnership
Project. This PoC is based on the implementation of three Use Cases that has been also described in the associated ETSI
TR 103 674 [i.1]. This PoC is using different implementations of a oneM2M platform with the addition of solutions
coming, for the most part, from the Open Source Software community.
The target group for the present document is the community of people that is interested in the understanding of the
challenges and the potential solutions of the introduction of AI in a concrete implementation of an IoT system.
Clause 5 presents the use cases selected and implemented for the Proof of Concept.
Clause 6 discusses the main elements of each the Use Cases: architecture, resources and attributes, message flow and
main implementation characteristics.
Clause 7 presents some lessons learned from the above analysis.
5 Use Cases implemented for the Proof of Concept
5.0 Foreword
This clause is presenting the three Use Cases (UCs) selected for the Proof of Concept. After several Use Cases have
been analysed in the associated ETSI TR 103 674 [i.1], three of them have been selected for the Proof of Concept. The
rationale behind the selection of these Use Cases is to make sure that they can address a large span of situations, thus
ensuring that they touch the largest possible set of issues.
Consequently, the PoC will be comprising three use cases:
• Use Case 1 on Fault detection will address more specifically measurements.
ETSI
---------------------- Page: 8 ----------------------
9 ETSI TR 103 675 V1.1.1 (2020-12)
• Use Case 2 on Visual recognition will address more specifically images.
• Use Case 3 on occurrences classification will address more specifically textual content.
The PoC Use Cases have been implemented on two different oneM2M platforms and are available on the ETSI forge
(https://labs.etsi.org/rep/iot/smartm2m-ai-for-iot-poc).
5.1 PoC UC1: Fault management and isolation for IoT field
devices
Fault detection aims to identify defective states and conditions within computing systems, subsystems and components
and ensure their proper functionality to reduce their rate of deterioration, hence better customer experience. There is a
need to be an effective maintenance service in place to ensure that IoT devices are running at their best. The inputs of
maintenance services are measurements reflecting the health state of the monitored item.
In this use case, an IoT module will be prototyped for fault detection and isolation of IoT device data in a smart building
environment using both a rule-based fault detection and a self-learning fault detection algorithm based on e.g. statistics
sliding window approach. The rule-based approach would be based on available manufacturer datasheets including
rules if available. The self-learning algorithm is based on determining trend vectors and comparing such vectors with
longer term historic data.
5.2 PoC UC2: Detection of patterns in video streams
Detection of patterns in video and camera streams enables users to identify scenes, objects, and situations in images
uploaded to the service using aims visual recognition based on Artificial Intelligence and Machine learning. Subjects
and objects contained in an image are automatically identified, organized and classified into logical categories in order
to provide add high added value services in cities such as car vandalism and fire detection.
In this use case, an IoT module will be prototyped for images classification using machine learning and trained data.
The IoT module supports multiple classifiers: predefined and custom models. A camera agent will be developed to
quickly test the proposed prototype and simplify the integration with real devices within the city. The camera agent
reads periodically images from the disk and push them to oneM2M platform. The images could be provided by a real
camera or any other external sources.
5.3 PoC UC3: Language-based pattern recognition in social
media/crowdsourced data for occurrences classification
In the Smart Cities environment, data comes in many formats from different sources. The common presented use case
tends to be through sensors, but data obtained directly from citizens, through what they publish on social networks or
share through other means (e.g. mobile apps to report incidents) can be very insightful and valuable. However, this
crowd-sourced data is not structured, and its quality can be questionable (i.e. containing typos, incorrect grammar and
incomplete location). As such, special care has to be taken in order to obtain insights from it since it can be a useful
source of information about what is happening throughout the city in a relatively seamless way.
Within this use case, a prototype of a Common Service Function will be developed, which will provide the functionality
of cleaning text data to be used in ML methods. With this functionality, and with the support of the OpenMTC
implementation of oneM2M, a system will be developed to fetch data from Tweets or other sources, which can
potentially be describing a disaster somewhere, automatically clean the data using the developed CSF, and feed this data
into a neural network that classifies the provided text in regards if it is reporting a disaster or not.
ETSI
---------------------- Page: 9 ----------------------
10 ETSI TR 103 675 V1.1.1 (2020-12)
6 Details of the Proof of Concept Implementation
6.1 PoC UC1: Fault management and isolation for IoT field
devices
6.1.1 Architecture
Figure 1: High-Level Architecture of Use Case 1
ETSI
---------------------- Page: 10 ----------------------
11 ETSI TR 103 675 V1.1.1 (2020-12)
6.1.2 Resources and attributes
Container
0…N
Fault Detection Policy
0.N
NotificationAddress
0.1
threshold
0.1
MaxValue
0.1
MinValue
0.1
latency
0.1
MinLatency
0.1
MaxLatency
0.1
ARIMA
1
method
1
optimizer
1
p
1
d
1
q
Figure 2: Fault detection policy
6.1.3 Message flow
Figure 3 depicts the entities and main components involved in the use case and the sequence of messages exchanged
between them to carry out the functionality needed for fault management and isolation for IoT field devices in oneM2M
platform. The blue boxes show the interactions that are achievable with oneM2M platform without any changes, while
the green boxes show new interactions that do not currently exist in oneM2M and need to be specified and implemented
for this use case.
ETSI
---------------------- Page: 11 ----------------------
12 ETSI TR 103 675 V1.1.1 (2020-12)
Figure 3: Sequence diagram of Use Case 1
6.1.4 Implementation
Register monitoring AE
HTTP Request
POST /server HTTP/1.1
Host: http://127.0.0.1:8080
X-M2M-Origin : Cae-monitor
Content-Type: application/json;ty=2
Accept: application/json
{
"m2m:ae": {
"rn": "monitor",
"rr": true,
"nu":["http://127.0.0.1:4000"]
"api": "company.org"
}
}
ETSI
---------------------- Page: 12 ----------------------
13 ETSI TR 103 675 V1.1.1 (2020-12)
HTTP Response
201 Created
Content-Location:/server/sensor
Content-Type:application/json
X-M2M-Origin:/server
X-M2M-RSC:2001
{
"m2m:ae": {
"rn": "monitor",
"ty": 2,
"ri": "/CAE988694263",
"pi": "/server",
"ct": "20200223T194209",
"lt": "20200223T194209",
"acpi": ["/server/acp-69998272"],
"et": "20180223T194209",
"api": "company.org",
"aei": "Cae-monitor",
"rr": true,
"nu":["http://127.0.0.1:4000"]
}
}
Register sensor AE
HTTP Request
POST /server HTTP/1.1
Host: http://127.0.0.1:8080
X-M2M-Origin : Cae-sensor
Content-Type: application/json;ty=2
Accept: application/json
{
"m2m:ae": {
"rn": "sensor",
"rr": false,
"api": "company.org"
}
}
HTTP Response
201 Created
Content-Location:/server/sensor
Content-Type:application/json
X-M2M-Origin:/server
X-M2M-RSC:2001
{
"m2m:ae": {
"rn": "sensor",
"ty": 2,
"ri": "/CAE988694263",
"pi": "/server",
"ct": "20200223T194209",
"lt": "20200223T194209",
"acpi": ["/server/acp-69998272"],
"et": "20180223T194209",
"api": "company.org",
"aei": "Cae-sensor",
"rr": false
}
}
ETSI
---------------------- Page: 13 ----------------------
14 ETSI TR 103 675 V1.1.1 (2020-12)
Create data Container inside sensor AE
HTTP Request
POST /server/sensor HTTP/1.1
Host: http://127.0.0.1:8080
X-M2M-Origin: Cae-sensor
Content-Type: application/json;ty=3
Accept: application/json
{
"m2m:cnt": {
"rn": "data",
"mni": 100
}
}
HTTP Response
201 Created
Content-Location:/server/sensor/data
Content-Type:application/j
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.