oneM2M, but actually lightweight enough to deploy.
A clean-sheet C implementation of the oneM2M v5.1 standard for resource-constrained gateways, peer-to-peer devices and cloud scenarios. Small enough to fit, fast enough to matter.
At a glance
01Why M2M needs a real standard
The IoT story is that everything talks to everything. The reality is that nothing talks to anything without painful integration glue. Standardised M2M, communication between devices with minimal human involvement, is what removes that glue.
oneM2M is the global standardisation effort that consolidates earlier ETSI M2M work into a single REST-API-shaped specification: standardised resources, registration, subscription, discovery, data management, all uniform across vendors. It is the right answer. But standards-grade implementations tend to be thick, opinionated, and far too heavy for the kinds of microcontrollers most IoT projects actually ship on.
02TinyOneM2M, a lightweight reimplementation
This paper introduces TinyOneM2M, a clean-sheet implementation of oneM2M v5.1 written in a low-level language so it fits where it needs to fit. Three reference deployment scenarios are validated:
- Home Gateway. A constrained gateway aggregating sensors over local protocols and exposing oneM2M to the cloud.
- Single Device, peer-to-peer. Two devices speaking oneM2M directly, no gateway, for ad-hoc deployments.
- Cloud. Standard CSE-in-the-cloud configuration for the heavy-lifting case.
03What the implementation actually solves
"Standards win when implementations are small enough that nobody has an excuse not to comply."
The three operational pain-points the paper attacks: protocol interoperability across heterogeneous devices, scalability under MTC-gateway loads, and latency on the request path. The C implementation hits each by trimming the abstraction stack, mapping oneM2M resources directly onto memory layouts a constrained MCU can manage, and pre-computing the routing tables that production stacks usually defer.
04Where this fits in the bigger IoT picture
This work pairs with the LSM-tree paper (storage), the VLSI paper (silicon), the cognitive-radio paper (spectrum) and the quantum-resilient metering paper (cryptography) to cover an end-to-end constrained-IoT stack. oneM2M is the wire format that lets each layer talk to the next.
FAQWhat people ask me about this paper
Q1Why C and not Rust or Go?
Q2Is this fully oneM2M v5.1 conformant?
Q3How does it compare to OM2M and Mobius?
Q4How does this connect to my standards work in IETF and ISA99?
Q5Where can I get the code?
CITEHow to cite this paper
@inproceedings{badami2024onem2m,
author = {Shujaatali Badami},
title = {Efficient OneM2M Standard Implementation for Lightweight IoT},
booktitle = {IEEE DSIT 2024},
year = {2024},
publisher = {IEEE}
doi = {10.1109/DSIT61374.2024.10882084}
}S. Badami, "Efficient OneM2M Standard Implementation for Lightweight IoT," in IEEE DSIT 2024, 2024, doi: 10.1109/DSIT61374.2024.10882084.
Badami, S. (2024). Efficient OneM2M Standard Implementation for Lightweight IoT. In IEEE DSIT 2024. https://doi.org/10.1109/DSIT61374.2024.10882084
TY - CONF AU - Badami, Shujaatali TI - Efficient OneM2M Standard Implementation for Lightweight IoT T2 - IEEE DSIT 2024 PB - IEEE PY - 2024 DO - 10.1109/DSIT61374.2024.10882084 ER -