oneM2M is a global organization that creates requirements, architecture, API specifications, security solutions and interoperability for Machine-to-Machine and IoT technologies.<ref>Template:Cite web</ref>
oneM2M specifications provide a framework to support a wide range of applications and services such as smart cities, smart grid, connected car, home automation, public safety, and health.<ref>Template:Cite web</ref><ref>Template:Cite web</ref>
- 1 Overview
- 2 Functional Architecture
- 3 History
- 4 Open Source Projects
- 5 Developer Resources
- 6 References
- 7 External links
oneM2M Service Layer for multivendor interoperability
The architecture standardized by oneM2M defines an IoT Service Layer, i.e. a vendor independent software Middleware sitting between processing / communication hardware and IoT applications providing a set of functions commonly needed by IoT applications.
The oneM2M Service Layer provides use case independent functions.
- oneM2M Common Service layer Functions (CSF’s) provide proper:
- Identification of users and applications
- authentication & authorization of users and applications
- end-to-end data encryption
- remote provisioning & service activation
- device management,
- connectivity setup & data transmission scheduling,
- data aggregation, buffering in case of missing connectivity and synchronization upon connectivity re-establishment
- group management and application and data discovery functions
- etc ...
The functions listed above provided by the oneM2M common service layer, are exposed and controlled via globally standardized vendor independent and uniform APIs, towards the IoT applications.
IoT applications or more generically “Application Entities” AE’s are generic terms for applications executed in so called Application Dedicated Nodes ADNs or Middle Nodes MNs and at the Infrastructure Node IN.
Applications (AEs) at the device (ADN, MN) and the Infrastructure Platform (IN) are separated by the oneM2M APIs from the actual oneM2M Common Service functions (CSFs) like the ones listed above.
Details and specifics of the underlying- connectivity technologies, transport protocols and data serialization formats are not exposed to the application developer. This avoids the necessity of detailed expertise in used connectivity technologies, and hence allows the application developer to focus on the customer actual IoT application.
Interactions between oneM2M Common Service functions (CSFs) and the application are solely based on the oneM2M globally standardized, vendor independent, uniform APIs towards the applications.
For an application developer, oneM2M based technology appears like an operating system, which takes over common basic functions in context of connectivity and hardware as listed above. Hence the IoT Service Layer specified by oneM2M can be seen in a similar way as a mobile operating systems within the smart phone eco system.
Due to this separation, application developers can focus on the developing the actual IoT application for the Device e.g focusing on:
- Measuring physical parameters, preprocessing of data, controlling attached hardware or Interworking with other technologies (Modbus, CAN-Bus, OPC-UA gateways etc.)
On the infrastructure (Platform) the separation by APIs between oneM2M Common Service functions (CSFs) and application, enables a separation between “low level” tasks in context of connectivity over wide area networks (Device Management, scheduling of data transmission, enrolment of security functions and credentials, revocation of faulty device applications), and actual cloud and IoT application Platform like:
- Data analytics, Rule engines, presentation of data, User interfaces etc.
Compared to IoT devices being connected to IoT Platforms without oneM2M, the separation between Applications and oneM2M Common Service functions (CSFs), enables the possibility to become independent form the actual cloud respectively IoT Application Platform provider, since from the viewpoint of the oneM2M Common Service functions (CSFs) the actual cloud respectively IoT application Platform is regarded as an Application (AE).
Beneficially the oneM2M Common Service functions (CSFs) will become part of the communication chipset, to achieve a coverage in a wide range of devices.
oneM2M Service Layer for cross vertical interoperability
The cross vertical interoperability challenge:
- Before an application executed in car (Automotive) or on a smartphone app is able to open a (Home Domain) garage door (e.g. once a car owner appears at home), both applications need to be properly authenticated and authorized. Moreover both application need to have a common understanding about their specific data models.
- Furthermore if data generated by IoT devices are distributed and uploaded to various different IoT platforms, data are locked in or just accessible within their proprietary IoT platforms. Hence cross vertical use cases are hampered.
In to overcome these aspects oneM2M provides data models based on the so called Smart Device Template which is continuously extended with new functionalities and elements. Basic elements can be modular composed to cover a wide range of devices with various capabilities.
Due to a common understanding of the data being transferred, stored and exposed by the oneM2M Common Service layer via globally standardized, vendor independent, uniform APIs, applications are able to interwork across any vertical.
In order to control access to data generated by IoT devices, oneM2M provides Access Control Policies ACPs, controlling which applications AEs are allowed to access which parts of the data in the oneM2M Common Service layer.
oneM2M Layered Model comprises three layers:
- the Application Layer,
- the Common Services Layer
- the underlying Network Services Layer.
The oneM2M functional architecture comprises the following functions:
1) Application Entity (AE): Application Entity is an entity in the application layer that implements an M2M application. Each application can be resident in a number of M2M nodes and/or more than once on a single M2M node. Each execution instance of an application is termed an "Application Entity" (AE) and is identified with a unique AE-ID.
→ Examples of the AEs include an instance of a fleet tracking application, a remote blood sugar measuring application, a power metering application, or a pump controlling application.
2) Common Services Entity (CSE): A Common Services Entity represents an instantiation of a set of Common Service Functions CSFs of the oneM2M Service Layer. A CSE is actually the entiy that contains the collection of oneM2M-specified CSFs that AEs are able to use. Such service functions are exposed to other entities through the Mca (exposure to AEs) and Mcc (exposure to other CSEs) reference points. Reference point Mcn is used for accessing services provided by the underlying Network Service Entities such as waking up a sleeping device. Each Common Service Entity is identified with a unique CSE-ID.
→ Examples of service functions offered by CSE include: Data storage & sharing with access control and authorization, event detection and notification, group communication, scheduling of data exchanges, device management, and location services.
3) Underlying Network Services Entity (NSE): A Network Services Entity provides services from the underlying network to the CSEs.
→ Examples of such services include location services, device triggering, certain sleep modes like PSM in 3GPP based networks or long sleep cycles.
oneM2M Reference Points:
The oneM2M functional architecture defines the following reference points:
- Mca reference point : Communication flows between an Application Entity (AE) and a Common Services Entity (CSE) cross the Mca reference point. These flows enable the AE to use the services supported by the CSE, and for the CSE to communicate with the AE. The AE and the CSE may or may not be co-located within the same physical entity.
- Mcc Reference point : Communication flows between two Common Services Entities (CSEs) cross the Mcc reference point. These flows enable a CSE to use the services supported by another CSE.
- Mcn Reference point : Communication flows between a Common Services Entity (CSE) and the Network Services Entity (NSE) cross the Mcn reference point. These flows enable a CSE to use the supported services provided by the NSE. While the oneM2M Service Layer is in general independent of the underlying network it leverages specific M2M/IoT optimization such as 3GPP’s eMTC features (e.g. device triggering, power saving mode, long sleep cycles, etc).
- Mcc’ Reference point : Communication flows between two Common Services Entities (CSEs) in Infrastructure Nodes (IN) that are oneM2M compliant and that resides in different M2M Service Provider domains cross the Mcc' reference point.
- Additional reference points are defined in oneM2M for specific purposes like enrolment functions etc. and are not detailed in this overview
oneM2M has defined a set of Nodes that are logical entities identifiable in the oneM2M System. oneM2M Nodes typically contain CSEs and/or AEs.
For the definition of Node types, oneM2M distinguishes between Nodes in the “Field Domain” – i.e. the domain in which sensors / actors / aggregators / gateways are deployed – and the “Infrastructure Domain” – i.e. the domain in which servers and applications on larger computers reside.
Nodes could be of the following types:
- Application Dedicated Node (ADN): a Node that contains at least one AE and does not contain a CSE. It is located in the Field Domain. An ADN would typically be implemented on a rather resource constraint device that may not have access to rich storage or processing resources and – therefore – may be limited to only host a oneM2M AE and not a CSE. Examples for devices that would be represented by ADNs: Simple sensor or actor devices.
- Application Service Node (ASN): a Node that contains one CSE and contains at least one Application Entity (AE), located in the Field Domain. An ASN could be implemented on a range of different devices ranging from rather resource constraint devices up to much richer HW. Examples for devices that would be represented by ASNs: Data collection devices, more capable sensors and actors including simple server functions.
- Middle Node (MN): a Node that contains one CSE and could contain AEs. MNs are located in the Field Domain. There could be several MNs in the Field Domain of the oneM2M System. Typically a MN would reside in an M2M Gateway. MNs would be used to establish a logical tree structure of oneM2M nodes, e.g. for hierarchically aggregate data of buildings / neighborhoods / cities / counties / states etc.
- Infrastructure Node (IN): a Node that contains one CSE and could contain AEs. There is exactly one IN in the Infrastructure Domain per oneM2M Service Provider. As example of physical mapping, an IN could reside in an M2M Service Enablement Infrastructure.
- Non-oneM2M Node (NoDN): This Node type is not shown in the figure above. oneM2M specifications also define a Node Type for non-oneM2M Nodes which are Nodes that does not contain oneM2M Entities (neither AEs nor CSEs). Typically such Nodes would host some non-oneM2M IoT implementations or legacy technology which can be connected to the oneM2M system via interworking proxies.
oneM2M was formed in July 2012<ref name="kt" /> and consists of eight of the world's preeminent standards development organizations (SDOs), notably: ARIB (Japan), ATIS (United States), CCSA (China), ETSI (Europe), TIA (USA), TSDSI (India), TTA (Korea) and TTC (Japan).<ref>Template:Cite web</ref> together with six industry fora, consortia or standards bodies (Broadband Forum, CEN, CENELEC, GlobalPlatform, Next Generation M2M Consortium, OMA).
oneM2M began some of the earliest work on standardization of a common platform for internet of things (IoT) systems<ref>Template:Cite web</ref>. In 2018, S. Korea's TTA reported its cooperative efforts with the ITU to bridge standardization gaps by transposing the oneM2M standard to an ITU standard<ref>Template:Cite web</ref>.
oneM2M currently have more than 200 participating partners and members consisting of Alcatel-Lucent, AT&T, BT Group, Adobe, Ericsson, Deutsche Telekom, IBM, Cisco, Sierra Wireless, InterDigital, Intel, Samsung,<ref>Template:Cite web</ref> LG Uplus and Telefonica.<ref name="kt">Template:Cite web</ref><ref>Template:Cite web</ref>
South Korea is one of the leading markets for solutions based on the oneM2M standard. South Korea’s national IoT Master Plan makes explicit reference to oneM2M as a strategic enabler for IoT applications and companies developing IoT solutions.<ref>Template:Cite web.</ref> The city of Busan is implementing an open platform based on oneM2M to support a smart-city eco-system of industry-university associations.<ref>Template:Cite web</ref>
Within the UK, a public-private partnership is using InterDigital's a oneM2MTM standards-based IoT platform developed by InterDigital to support a large-scale, intelligent transport systems trial. The trial, oneTRANSPORT, is part funded by InnovateUK and involves 11 public and private sector organizations with an operational footprint that covers four contiguous counties in England (Buckinghamshire, Hertfordshire, Northamptonshire and Oxfordshire).<ref>Template:Cite web</ref> The aim of the trial is to demonstrate several journey planning, transport-event and incident management applications.
Open Source Projects
Several independent Open Source foundations and projects have been actively using oneM2M
- ATIS Open Source Internet of Things (OS-IoT) is an open source software library that simplifies the development of IoT devices, particularly small clients, that connect to the oneM2M ecosystem.
- IOTDM, part of the OpenDaylight project hosted by the Linux Foundation: Developing a oneM2M-based IoT Data Broker to enable authorised applications to retrieve IoT data uploaded by any device.
- OASIS SI, part of Open-source Architecture Semantic IoT Service-platform project: Developing code for the oneM2M-based IoT server platform. It consists of protocol binding, controller & resource handling and database layer for flexibility.
- OCEAN, open alliance for IoT standard, Open source implementations for oneM2M server/gateway/device platforms and applications are supported. Also, developer tools including platform resouce browser, self-conformance testing tool are provided. The oneM2M implementations for open hardwares like Raspberry Pi, Arduino are distributed to help oneM2M product development. Mobius, the oneM2M server implementation, got the oneM2M certification and it is designated as one of the golden samples.
- OM2M, hosted by the Eclipse Foundation and part of Eclipse’s IoT Working Group: Offers a flexible oneM2M-based platform to implement horizontal M2M servers, gateways, and devices. It brings forward a modular architecture, running on top of an OSGi container, which is highly extensible via plug-ins.
- OpenMTC is a integration middleware based on the oneM2M standard, for conducting applied research and developing innovative M2M and IoT applications. Its horizontal service approach easily integrates devices from different Industrial IoT verticals, independent of the underlying hardware or network infrastructure.
- oneM2MTester is the world first free open source conformance testing tool that developers can use to check the compliance of their platforms and applications with oneM2M specifications. The oneM2MTester is built upon Eclipse TITAN, which is a free open source TTCN-3 compilation and execution framework also supporting Eclipse IDE. Developers can select test cases in the tool that are specified in oneM2M TS-0018 and get the test result. oneM2M Certification Body designated one of the commercialized conformance testing tools that is based on oneM2MTester as the authorized testing system.
The oneM2M Partnership Project maintains a WiKi for developers to learn about the oneM2M community, software releases and collaborative development processes.<ref>Template:Cite web.</ref>
1. ^ Blewitt, Alex. "Eclipse Foundation Releases IoT Projects". InfoQ. Retrieved 25 August 2016. 2. ^ Frenzel, Lou. "Wireless Is Headed…Where?". Electronic Design magazine. Retrieved 25 August 2016. 3. ^ Briodagh, Ken. "oneM2M to Release Next Standards in Autumn to Expand IoT Interconnectivity". IoT Evolution World. Retrieved 25 August 2016. 4. ^ Carlton, Alan. "IoT is not about radios; it's all about data". Network World. Retrieved 15 September 2016. 5. ^ Gopalakrishnan, Arvind. "oneM2M implications on IOT platforms for enterprises". Dataquest. Retrieved 25 August 2016. 6. ^ Abbas, Muntazir. "C-DoT builds first open machine-to-machine platform". The Economic Times. Retrieved 25 August 2016. 7. ^ a b Yoo-chul, Kim (15 July 2016). "LG Uplus expands international business". The Korea Times. Retrieved 25 August 2016. 8. ^ "oneM2M welcomes GlobalPlatform, TSDSI as partners". Telecompaper. Retrieved 25 August 2016. 9. ^ "Industrial Internet Consortium - Business Strategy & Innovation Framework - Figure 6-3: Timeline of Standardization Efforts" (PDF). www.iiconsortium.org. Archived from the original (PDF) on 2016. Retrieved 2018-12-13. 10. ^ "TTA-ITU cooperative BSG (bridging the standardization gap) project". www.tta.or.kr. Retrieved 2018-12-13. 11. ^ Maddox, Teena. "Can Samsung's $1.2 billion investment launch the era of 'human-centered' IoT?". TechRepublic. Retrieved 25 August 2016. 12. ^ Babcock, Charles. "HPE Offers IoT Platform To Build, Analyze Data". InformationWeek. Retrieved 25 August 2016. 13. ^ Waring, Joseph (10 June 2015). "SK Telecom unveils open IoT platform based on oneM2M". Mobile World Live. Retrieved 25 August 2016.. 14. ^ "Busan - Global Smart City". Busan - Global Smart City. Retrieved 10 October 2016. 15. ^ "HPE's IoT Platform Supports oneM2M, LoRa, SigFox". Linux.com. Retrieved 2016-06-19. 16. ^ Preimesberger, Chris. "HPE Moves Into IoT Management With All-Purpose Platform". eWeek. Retrieved 25 August 2016. 17. ^ "oneTRANSPORT Intelligent Transport System trial". oneTRANSPORT. Retrieved 22 September 2016. 18. ^ "oneM2M developer corner WiKi". WiKi. Retrieved 9 December 2016.