Professor Tierry Monteil, professor in computer science at INSA – University of Toulouse and researcher at LAAS-CNRS presented on OneM2M and the interoperatbility of the IoT as part of the SMART Seminar Series on 13 December 2017.
More information: http://www.uoweis.co/event/onem2m-towards-end-to-end-interoperability-of-the-iot/
Keep updated with future events: http://www.uoweis.co/tag/smart-infrastructure/
5. Outline
› Internet of things: definition and use cases
› A standard for IoT: OneM2M
› Interoperability:
– Architecture
– Service
– Semantic
› OM2M – an eclipse opensource project
› Team researchs on IoT over OM2M
– Autonomic
– Performance analysis
– Data management
7. • The current marketplace solutions are extremely fragmented
• Increase the R&D cost in each specific domain.
• Silo model is not an efficient way to communicate, it is a barrier to further development.
• Many vertical solutions have been designed independently and separately for different
applications, which impedes large-scale interoperable deployment.
market fragmentation
7
9. Potential of Internet of Things
› Gartner press release:
https://www.gartner.com/newsroom/id/3598917
› Up 31% of devices from 2016 to 2017 : 8,4 billions of
connected things
› In 2016 more vertical specific devices then cross industry
devices but
=>No more true in 2020
% progression 2016->2017 2017->2018 2018-> 2020
Vertical specific 24% 23% 56%
Cross industry 36% 42% 100%
12. Over 200 member organizations in oneM2M
oneM2M: The Partnership Project
From oneM2M Service Layer Platform – Initial Release: Omar Elloumi / Nicolas Damour 12
13. Ongoing Collaborations
13
MQT
T
OMA DM/
LWM2M
HTTP/ CoAP/
(D)TLS/
WebSocket
TR-069/ TR-
181 DDS
P2413
JTC1
WG10
SG20
MIoT
SCP,
SmartM2M
Certificatio
n
ref. arch,
OHTP
WG
3
OPC-UA
WoT
SCEF/CIoT
AllJoyn
OCF
OSGi/D
AL
• Collaboration is important to reach common understanding, avoid overlap and build interoperable IoT ecosystems globally.
Source: Huawei
Sharing/Reference
(Liaison, workshop, …)
Interworking
Endorsement
(adoption)
Partnership
14. oneM2M: Organisation & Structure
Working groups
Work program management
Finance, Marketing, ...
Steering
comitee
Technical
plenary
REQ ARC PRO SEC MAS TST
Use cases
Requirements
Architecture Protocols Security Management
Abstraction &
Semantics
Testing
16. Underlying
Network
Underlying
Network
CSE
AE
NSE
CSE
AE
NSE
CSE
AE
NSENSE
Application Service Node Middle Node Infrastructure Node
Application
Layer
Service
Layer
Network
Layer
Mca
Mcn
Mca Mca
McnMcnMcnMcc Mcc
Reference Point One or more interfaces - Mca, Mcn, Mcc and Mcc’ (between 2 service providers)
Common Services Entity Provides the set of "service functions" that are common to the M2M environments
Application Entity Provides application logic for the end-to-end M2M solutions
Network Services Entity Provides services to the CSEs besides the pure data transport
Node Logical equivalent of a physical (or possibly virtualized, especially on the server side) device
Interoperability: Standardized Architecture of
OneM2M
CSE
Mcc’
Inf. Node
From oneM2M Service Layer Platform – Initial Release: Omar Elloumi/Nicolas Damour
16
18. MN Node
MN-AE
REG
SEC
RF
ASM
CMDH
GMG
LOC
SUB
MN-CSE
ASN-AE
ASN-CSE
IN
Node
IN-AE
Security
(SEC)
Data Mgmt and
Repository (DMR)
Routing
Function
(RF)
Application and
Service Layer Mgmt
(ASM)
Communication Mgmt
& Delivery Handling
(CMDH)
Location
(LOC)
Subscription and
Notification (SUB)
Registration
(REG)
IN-CSE
ADN Node
ASN
Node
Non
oneM2M
Nodes
ADN-AE
ADN Node
ADN-AE
Other
MN Node
Standardized OneM2M Service
Group
Management
(GMG)
Other
IN Node
DMR
REG
SEC RF
ASM
CMDH
GMG
LOC
SUB
DMR
18
Interworking
Proxy Entity
(IPE)
19. Interoperability: Standardized management of Data
and API
› Based on REST architecture (representational state transfer)
› Resource oriented
– Stored on a server
› Access using an URI
– http://www.example.com/wiki/rest
– http://www.example.com/software/releases/latest.tar.gz
› Representation of resources
– Used in exchange with client/user
– Can be any representation format: XML, JSON, BSON, …
› Link to other resources
– Dependencies, hierarchy is represented by link in resource
representation
20
20. REST Architecture Properties
› Addressability
– Each resource has unique URI
› Statelessness
– Each requests contains all application states necessary to handle that
request
› Connectedness
– Resources are linked between each others
– You can put the service in different states just by following links
› Uniform interface: based on HTTP operations
– Retrieve a resource: HTTP GET
– Create new resource: HTTP POST
– Update a resource: HTTP PUT
– Delete a resource: HTTP DELETE
20
21. › Common Service Entity (CSE)
› Application Entity (AE)
› Container (CNT)
› Content Instance (CIN)
Basic Ressources
AEAE
CSE Base
AE
CNT-1
CNT-2
CIN-1
CIN-2
CIN-3
CIN-1
22. › Get the value from a sensor with HTTP protocol
Exemple of REST request (OM2M)
Response:
{"m2m:cin": {
"rn": "cin_766730553",
"ty": 4,
"ri": "<id-ressource>",
"pi": "<id-ressource-parent>",
"ct": "20161107T183318",
"lt": "20161107T183318",
"st": 0,
"cnf": "application/txt",
"cs": 16,
"con": " 24"
}
}
Request:
GET <URI-CIN-1> HTTP/1.1
Host: <ip>:<port>
X-M2M-Origin: <originator>
X-M2M-RI: 123
Accept: application/json
23. › Set a new value for a sensor with HTTP protocol
Exemple of REST request (OM2M)
Request :
POST <URI-CNT> HTTP/1.1
Host: <ip>:<port>
X-M2M-Origin: <originator>
Content-Type: application/json;ty=4
{"m2m:cin" : {
"rn" : "cin_name",
"cnf" : "text/plain",
"con" : "25"
}
}
Response :
{ "m2m:cin": {
"rn": "cin_name",
"ty": 4,
"ri": "<id-ressource>",
"pi": "<id-ressource-parent>",
"ct": "20161107T183318",
"lt": "20161107T183318",
"st": 0,
"cnf": "text/plain",
"cs": 16,
"con": "25"
}
}
27. 27
MN-CSE-HOME
Server/Cloud
(IN-CSE)Gateway (MN-CSE)
OM2M resource tree example
IN-CSE-SERVER
REMOTE-MN-HOME
REMOTE-IN-SERVER
Smart Meter
(ADN)
AE-SMART-METER
CNT-DATA
CIN-DESCRIPTION_1
CNT-DESCRIPTOR
Device registering
CSE APPLICATION ENTITY CONTAINER CONTENT INSTANCE REMOTE-CSE SUBSCRIPTION
28. 28
MN-CSE-HOME
Server/Cloud
(IN-CSE)Gateway (MN-CSE)
OM2M resource tree example
IN-CSE-SERVER
REMOTE-MN-HOME
REMOTE-IN-SERVER
Smart Meter
(ADN)
AE-SMART-METER
CNT-DATA
CIN-DESCRIPTION_1
CNT-DESCRIPTOR
CIN-MEASUREMENT_1
New value
CSE APPLICATION ENTITY CONTAINER CONTENT INSTANCE REMOTE-CSE SUBSCRIPTION
29. 29
MN-CSE-HOME
Server/Cloud
(IN-CSE)Gateway (MN-CSE)
OM2M resource tree example
IN-CSE-SERVER
REMOTE-MN-HOME
REMOTE-IN-SERVER
Smart Meter
(ADN)
AE-SMART-METER
CNT-DATA
CIN-DESCRIPTION_1
CNT-DESCRIPTOR
CIN-MEASUREMENT_1
User registration
End user
(DA)
AE-USER
CSE APPLICATION ENTITY CONTAINER CONTENT INSTANCE REMOTE-CSE SUBSCRIPTION
30. 30
MN-CSE-HOME
Server/Cloud
(IN-CSE)Gateway (MN-CSE)
OM2M resource tree example
IN-CSE-SERVER
REMOTE-MN-HOME
REMOTE-IN-SERVER
Smart Meter
(ADN)
AE-SMART-METER
CNT-DATA
CIN-DESCRIPTION_1
CNT-DESCRIPTOR
CIN-MEASUREMENT_1
Subscription
End user
(DA)
AE-USER
CSE APPLICATION ENTITY CONTAINER CONTENT INSTANCE REMOTE-CSE SUBSCRIPTION
31. 31
MN-CSE-HOME
Server/Cloud
(IN-CSE)Gateway (MN-CSE)
OM2M resource tree example
IN-CSE-SERVER
REMOTE-MN-HOME
REMOTE-IN-SERVER
Smart Meter
(ADN)
AE-SMART-METER
CNT-DATA
CIN-DESCRIPTION_1
CNT-DESCRIPTOR
CIN-MEASUREMENT_1
Subscription
End user
(DA)
AE-USER
Redirect
USER-SUBSCRIPTION
CSE APPLICATION ENTITY CONTAINER CONTENT INSTANCE REMOTE-CSE SUBSCRIPTION
32. 32
MN-CSE-HOME
Server/Cloud
(IN-CSE)Gateway (MN-CSE)
OM2M resource tree example
IN-CSE-SERVER
REMOTE-MN-HOME
REMOTE-IN-SERVER
Smart Meter
(ADN)
AE-SMART-METER
CNT-DATA
CIN-DESCRIPTION_1
CNT-DESCRIPTOR
CIN-MEASUREMENT_1
End user
(DA)
AE-USER
USER-SUBSCRIPTION
New value
CIN-MEASUREMENT_2
CSE APPLICATION ENTITY CONTAINER CONTENT INSTANCE REMOTE-CSE SUBSCRIPTION
33. 33
MN-CSE-HOME
Server/Cloud
(IN-CSE)Gateway (MN-CSE)
OM2M resource tree example
IN-CSE-SERVER
REMOTE-MN-HOME
REMOTE-IN-SERVER
Smart Meter
(ADN)
AE-SMART-METER
CNT-DATA
CIN-DESCRIPTION_1
CNT-DESCRIPTOR
CIN-MEASUREMENT_1
End user
(DA)
AE-USER
USER-SUBSCRIPTION
New value
CIN-MEASUREMENT_2
Trigger
CSE APPLICATION ENTITY CONTAINER CONTENT INSTANCE REMOTE-CSE SUBSCRIPTION
34. 34
MN-CSE-HOME
Server/Cloud
(IN-CSE)Gateway (MN-CSE)
OM2M resource tree example
IN-CSE-SERVER
REMOTE-MN-HOME
REMOTE-IN-SERVER
Smart Meter
(ADN)
AE-SMART-METER
CNT-DATA
CIN-DESCRIPTION_1
CNT-DESCRIPTOR
CIN-MEASUREMENT_1
End user
(DA)
AE-USER
USER-SUBSCRIPTION
New value
CIN-MEASUREMENT_2
Trigger
RedirectRedirect
CSE APPLICATION ENTITY CONTAINER CONTENT INSTANCE REMOTE-CSE SUBSCRIPTION
35. 35
MN-CSE-HOME
Server/Cloud
(IN-CSE)Gateway (MN-CSE)
OM2M resource tree example
IN-CSE-SERVER
REMOTE-MN-HOME
REMOTE-IN-SERVER
Smart Meter
(ADN)
AE-SMART-METER
CNT-DATA
CIN-DESCRIPTION_1
CNT-DESCRIPTOR
CIN-MEASUREMENT_1
End user
(DA)
AE-USER
USER-SUBSCRIPTION
CIN-MEASUREMENT_2
CSE APPLICATION ENTITY CONTAINER CONTENT INSTANCE REMOTE-CSE SUBSCRIPTION
36. Interoperability: connexion with other
technologies/standards
› Don’t reinvent the wheel
› Take care of deployed technologies or other consortium
› Open to new technologies
=> Specific service: Interworking Proxy Entity - IPE
IPE oneM2M-
CSE
oneM2M
devices
Other technologies
/standards
37. Security
› Secure channel communication (HTTPS)
› Authentication (login/password: X-M2M-Origin field)
› Access control Policies (ACP) on all resources
– Privileges and self-privilege
Signification
acr = « Access Control Rule »
acor = « Access Control Originators »
acop = « Access Control Operations »
Opération Cod
e
CREATE 1
RETRIEVE 2
UPDATE 4
DELETE 8
NOTIFY 16
DISCOVERY 32
Example:
<acr>
<acor>admin</acor>
<acop>63</acop>
</acr>
<acr>
<acor>guest arthur</acor>
<acop>34</acop>
</acr>
39. Interoperability: Standardized format
Suggestion: oBIX representation
› Representation of device description
– Meta information
› Location
› Type
› Unit
– Available operations
› Retrieve the state directly
› Switch on a lamp
› Switch off a fan
› …
› Representation of a data instance
– Will specify a value
– Local meta information
› Timestamp
› Unit
› …
=> Not Enought
39
<obj href="http://myhome/lux">
<real name=“light“
unit=“obix:units/fahrenheit"
val=“300.4"/>
</obj>
<obj>
<str name=“appId” val=“switch”>
<str name=“location” val=“home”>
<op name=“setOn” href=“APP_SWITCH_0?op=true”/>
<op name=“setOff”
href=“APP_SWITCH_0?op=false”/>
<op name=“toggle”
href=“APP_SWITCH_0?op=toggle”/>
</obj>
40. Interoperability : Semantic and Ontology
Wisdom
Knownledge
Information
Data
Noise
Product by objects
Needed for applications
41. Data management with Semantic
› Formal description - Machine process ability
› Reasoning/Computation:
– semantics enabled search,
– answering complex queries,
– hypothesis validation,
– mining
› Ontology: IoT-O
One of the inputs
for a proposition
in standardisation
N. Seydoux, K. Drira, N. Hernandez, T. Monteil, IoT-O, a
Core-Domain IoT Ontology to Represent Connected
Devices Networks. Interna- tional Conference on
Knowledge Engineering and Knowledge Management -
EKAW2016 Bologna, Italy, November, 2016 41
42. Good points
› Standardized architecture
› Standardized Service
› Standardized API
› Standardized structuration of data
But how to use this standard
43.
44. › OM2M is an open source project created at
LAAS CNRS
› Standard benefits :
– Compliant to SmartM2M Standard (April
2014) and with OneM2M Standard (november
2015)
› Eclipse foundation project: eclipse.org/om2m
› But also:
– OSGi-based architecture extensible via
plugins
› High participation of the founders of OM2M at
LAAS in standardisation process
OM2M: Open platform for IoT
44
45. Project Stats: use around the world
since 2014
• Community of developers and users :
• Telco (Orange, deutsch Telecom, etc)
• IT company (huawei, sierra wireless, e-device, etc)
• Startup (SRC solution, camynoo, etc)
• Laboratories (NCTU, III, RedCad, etc)
46. OM2M Building Blocks
• Java platform running on top of an OSGi runtime
• Highly extensible via plugins
• Flexible OSGi container: Equinox, Knopflerfish, or others.
• Flexible database based on EclipseLink
• Build with Maven and Tycho for fast plugin developement
46
47. Web Resources
› Main page
http://eclipse.org/om2m
› New wiki pages for OM2M
https://wiki.eclipse.org/OM2M/one
› Git repository
https://git.eclipse.org/r/om2m/org.eclipse.om2m
› oneM2M Specification
http://onem2m.org
47
48. Good points
› Opensource implementation of the standard
› Mechanisms to integrate several sensors technologies
› Creation of a community of users around the world
› Used in several universities to train students
But is something missing for large, efficient, easy, …
deployment and management of IoT platform
49. Management service for smart system
› Autonomic computing:
– Self-configuration, Self-healing, Self-optimization, Self-protection
– FRAMESELF: Multi-model autonomic loop
– Logics, graph grammars, queuing models, timed automata
49
50. Graph-based modeling and graph rewriting systems
› The state of the system at a given time is represented by an attributed
graph.
› System modification are modeled by graph rewriting rules (GRR).
50
Network
Device1
appli1
Device2
appli2
Cont1
appli2
Cont2
Cont3
“Ann”, delay1
“Registered”
“RW”
“RW”
“RW”
idNewC
Id1, deviceType1,
appli
Id2, appli
IdC
IdD, deviceType2,
runnableappli
“Ann”, delay2
“Registered”link2
link1
link1
GRR: Redirection of an input and/ or output of an application
“RW”
C. Eichler, T. Monteil, P. Stolf, A. Grieco, K. Drira, Enhanced graph rewriting systems for performance aware dynamic software
architectures, software & systems modeling – sosym, springer, 2016 , 15(3), 685-705, DOI 10.1007/s10270-014-0433-1
52. The ADREAM Smart Building
› Combining several renewable energy sources :
› a “Living lab” of 1700m2
– Technical platforms: 500m2, including a flat, sensors, robots …
– Offices: 700m2
– Photovoltaic panels on
roofs and south-oriented
walls
– Ground-coupled heat
exchanger
– 3 heat pumps coupled to
Geothermic probes
53. ADREAM: measurements
› Heating, Ventilation, Air
Conditioning
– 650 points of measurement and regulation
› Lighting: 3700 measurement
points
– Movement and illumination sensors
› Electricity: 500 data collected
– power consumption, production
› Environmental data
– Irradiance, Solar spectrum, Atmospheric
pressure, …
› Database:
– 6500 sensors/activators
– 500000 values per day
› Centralised Building supervision
57. Correction
(1)
(2)
57
Nicolas Seydoux, Khalil Drira, Nathalie Hernandez and Thierry Monteil, Autonomy through
knowledge: how IoT-O supports the management of a connected apartment, SWIT2016
58. › Performance model of OM2M for QoS and energy management
11/12/2015 58
Manage Scalability of OM2M
- Activate/desactivate processor
- Deploy several access points
- Manage database of OM2M
REST
Gateway or Server
𝜆 =
𝑘=1
𝑅
𝜆 𝑘 𝑒𝑡 µ 𝐷 𝑖 𝑟 =
1
𝑡 𝐷𝐶𝑡𝑒 + 𝑚 ∗ 𝑖 𝑟
60. Conclusion 1/2
› Standards
– can decrease the costs of development and maintenance
– allow to have multiple suppliers
– make it easier for users
› But difficulties to chose the good standard
› A standard like OneM2M allows to hide the heterogeneity
› Opensource
– increases the numbers of users and create communities
– increases the visibility of your work
– helps to extend the capabilitie of the software
– can create important feedback to standard
60
62. Conclusion 2/2
› But:
– OneM2M standard is not so simple
› Compare IoT architecture with MQTT
Does Simple application need all service ?
› Complexity to develop code
– OneM2M CSE need resources
› Processing power / memory => energy, cost
ADN (application Dedicated Node) solution
could be difficult in strong embedded system
- “Telco” view of IoT
- Centralised view on a cloud
Is it the good one ?
Fog computing (privacy, latency, etc)
63. Ongoing addressed IoT works
› Semantic data model: interoperability and performance (PhD N.
Seydoux)
› Scalability and service management (PhD K. Khadir)
› Energy and QoS in IoT with fog architecture (PhD T. Djemai)
› Use of checkpointing mechanism in IoT (Phd F. Aïssaoui)
› Complex service based on multiple dynamic simple service (PhD G.
Garzone)
› LPWAN Network capabilities for IoT: performance, bandwidth,
deployment (researcher N. Accetura)
› Several projects :
– IoT supervision – SRC solution (regional project)+Canada,
– Service for Smart Connected vehiCles (national project),
– data management: ADREAM FIESTA (European project) 63
64. OneM2M – Towards end-to-end
interoperability of the IoT
Thierry Monteil – monteil@laas.fr