Overview of LWM2M
Lightweight M2M (LWM2M) is a set of protocols defined by the Open Mobile Alliance (OMA) for machine-to-machine (M2M) or Internet of Things (IoT) device management and communications. LWM2M provides a light and compact secure communication interface along with an efficient data model, which together enables device management and service enablement for M2M devices. The enabler includes device management and service enablement for LWM2M Devices. Lightweight M2M enabler defines the application layer communication protocol between an LWM2M Server and an LWM2M Client, which is located in an LWM2M Device. The target LWM2M Devices for this enabler are mainly resource-constrained devices. The diagram below shows the LWM2M architecture.
This architectural diagram describes four logical interfaces as the method of communication between the LWM2M Client and the LWM2M Server. It also demonstrates the overall communication stack being used by the LWM2M Client and Server. In addition, it identifies the concept of a bootstrap and application servers used to define a system topology. Finally, the device information is contained in the LWM2M Client Objects and accessed by the LWM2M Server by invoking the appropriate URI mapping to the device's Object/Instance/Resource (OIR).
Here is a definition of the four logical interfaces defined between the server and client:
- Bootstrap: provides the LWM2M Bootstrap Server the ability to provision the LWM2M Client with keying, access control, and configuration of a device, which allows the LWM2M client to register with an LWM2M Server.
- Device Discovery and Registration: allows an LWM2M Client to register with the LWM2M Server and report on the capabilities of the device to the LWM2M Server.
- Device Management and Service Enablement: allows the LWM2M Server to access the LWM2M client's OIR and perform the following actions on the device's OIR: Read, Write, Execute, Create, Delete, Write Attribute, Discover.
- Information Reporting: allows the LWM2M Client to report on periodical or event-based changes of OIRs to the LWM2M Server.
The LWM2M communication model is based on CoAP methods such as GET, PUT, POST, and DELETE with bindings over UDP or SMS as the transport layer. The binary encoded message overheads will only be a few bytes and the flat, simple objects with uniform URI across devices makes the protocol best suited for constrained device connectivity and easy management.