What is oneM2M?
oneM2M is a global standard for IoT systems that publishes specifications that define a common service layer for IoT systems. oneM2M is designed to be used in IoT scenarios, including smart cities, smart agriculture, smart homes, and many more.
Beyond its technical specifications, there are several other facets to oneM2M. oneM2M is an internationally recognized Standards Development Organization (SDO) focusing on continuous standards development and a cohesive set of technical specifications. Specifically:
- oneM2M is the global and open standard for interoperable and scalable IoT systems.
- oneM2M is a partnership project, founded by the world’s leading regional SDOs to promote a global standard and reduce market fragmentation.
- oneM2M manages a ‘Release’ road map to address new use cases and new requirements in IoT systems. This includes the integration of emerging technologies such as AI, industrial metaverse, and semantic interoperability.
- oneM2M documentation, developer guides, and open-source implementations are openly accessible and available at no charge.
- As illustrated, oneM2M promotes a horizontal architecture between IoT Application and IoT Devices and Connectivity layers. This middleware layer comprises a family of common service functions (CSFs) for specifying and operating IT systems. Of the seventeen CSFs, three were added as part of oneM2M’s Release 4 specifications.
oneM2M Horizontal Architecture and Toolkit of Common Service Functions (Source: oneM2M) - System architects can apply oneM2M’s distributed architecture to a broad range of systems and use cases for multiple industry domains to ensure interoperability both across industrial applications and business-unit domains.
- oneM2M hosts interoperability testing events where vendors can test their implementations. A community benefit of testing is to resolve ambiguities and errors, to help developers by improving the quality of oneM2M’s specification documents.
- oneM2M also supports an independent certification scheme operated by the Global Certification Forum.
LwM2M and oneM2M - not the same thing
Is OMA Lightweight M2M (LwM2M) a cut-down version of oneM2M? The question aroses sometimes in connection with IoT device management. Before getting to answer, it is worth considering the historical context.
LwM2M began life in 20071 as a device management protocol within the Open Mobile Alliance (OMA). Following OMA’s merger with SpecWorks, the protocol was extended to include data model capabilities along with a library of more than 300 objects and resources. As with any standard, adoption took time; in recent years, LwM2M experienced stronger adoption as a data transport protocol on top of CoAP and non-IP protocols.
Though the names sound similar LwM2M is a transport protocol while oneM2M is an open-standard service layer that makes use of protocols such as LwM2M. In effect, the scope of oneM2M covers a broader set of capabilities. Apart from data transport and data models, a oneM2M implementation provides additional service-enabler capabilities. These include data and device management, access control, enriching data with semantics, notifications, location services, OSS/BSS support, and more.
Since oneM2M was conceived for interoperability, IoT systems designed with oneM2M can include LwM2M as a protocol plug-in component. As a result, a oneM2M system architect could integrate LwM2M into a larger IoT system and combine it with other transport protocols, depending on business case and network infrastructure needs. That would allow the IoT system’s operator to invoke LWM2M for data transport purposes, for device-management capabilities, or for both.
In answer to the opening question, LwM2M addresses IoT data transport and connection management requirements on the network and device layers. LwM2M is not a cut-down version of oneM2M; the latter is broader in scope and supports IoT applications for distributed IoT systems.
by Andreas Kraft, Ken Figueredo, 2025-03-13
-
OMA states that LwM2M began life around 2017 ~ around the time OMA merged with SpecWorks. ↩