OMA LWM2M

Open Mobile Alliance Lightweight Machine to Machine（オープン・モバイル・アライアンス・ライトウェイト・マシン・ツ・マシン、OMA LwM2M、LwM2M）は、OMA SpecWorks（旧称: Open Mobile AllianceのM2MまたはIoTデバイス管理用のプロトコルである。LwM2Mは、LwM2MサーバーとLwM2MデバイスにあるLwM2Mクライアントの間の通信プロトコルであるOMA Lightweight M2Mには、LwM2Mデバイス用のデバイス管理とサービスを可能にするメカニズムが含まれている。LwM2MはセンサネットワークとM2M環境の要求を考慮して設計されたデバイス管理とテレメトリープロトコルである。LwM2Mを使用すると軽量で低消費電力のデバイスを効率的にリモート管理可能であるOMA LwM2MはMQTTやCWMP（TR-069）などすでに確立されている他のM2Mプロトコルと同様のユースケースに対処するがこれらのプロトコルと違って省メモリのバイナリペイロードを使用して帯域幅の使用を最適化し、ネットワーク接続が常に安定していない場所での信頼性を向上させるために複数のサーバーやSMS転送などの追加機能を導入している。OMA LwM2Mはまたサーバとクライアント間で交換されるメッセージが業界標準のDTLSプロトコルを使用し、確実に暗号化され堅牢なセキュリティ要件を確立する複数のサーバーと通信する場合アクセス制御リストはデバイスによって公開されているデータモデルのどの部分をどのサーバーで管理できるかを正確に管理する。したがって、LwM2Mは、軽量でコンパクトなプロトコルと効率的なリソースデータモデルを利用している。それはM2MサービスプロバイダーがM2Mユーザーにサービスを提供するためにM2Mシステムを展開するための選択を提供する。LwM2Mのアプリケーション層として CoAPは使われている。OMA Lightweight M2Mは次のような機能を可能するために設計された:

 センサーネットワークまたは携帯電話ネットワークでデバイス管理機能を提供する
 ネットワークからデバイスへのサービスデータの転送する
 ほとんどのアプリケーションの要件を満たすように拡張する

プロトコルのバージョン 
OMA LwM2M 1.0

Lightweight M2M 1.0は、つまり初期リリース、以下の機能を導入した。

 シンプルオブジェクトベースのリソースモデル
 属性の作成／検索／更新／削除／設定／構成というリソースのオペレーション
 リソース監視/通知
 TLV／JSON／プレーンテキスト／不透明（Opaque）データ型のサポート
 UDPおよびSMSトランスポート層のサポート
 DTLSベースのセキュリティ
 NAT／ファイアウォール環境用のキューモード
 複数のLwM2Mサーバーのサポート
 基本的なM2M機能：LwM2Mサーバ、アクセス制御、デバイス、接続性、ファームウェア更新、ロケーション、接続性統計

OMA LwM2M 1.1

 インクリメンタルアップグレードを可能にするLwM2Mブートストラップ機能の強化
 PKI（Public Key Infrastructure）の展開のサポートの改善
 LwM2MクライアントによるLwM2Mサーバへの拡張登録シーケンスメカニズムの導入
 ファイアウォールとNATトラバーサルをよりよくサポートするためにTCP／TLS上のLwM2Mをサポートの導入
 OSCOREベースのLwM2Mのアプリケーション層セキュリティのサポート
 CIoT & LoRaWANを含む、低電力WAN上でのLwM2Mのサポート改善
 リソースインスタンスレベルアクセスを有効にするための拡張したLwM2Mコマンド
 複数オブジェクトのリソースの取得と更新のための性能改善
 非常に効率的な伝送による圧縮ペイロードを有効にするCBORシリアライゼーションのSenMLを使ったJSONのサポート
 新しいデータ型の追加

LwM2Mコアとトランスポートバインディング仕様の間の分割は読みやすさを向上させ、LwM2Mメッセージング層とこれらのメッセージを伝達するための基礎となるプロトコルとの間の明確な分離を可能にし、そして最終的により優れた拡張性を可能にする。

この1.1のバージョンでは、CoAP over TCP／TLS、およびCoAP over Non-IP、すなわち3GPP CIoTおよび3GPP CIoTのサポートが追加されている。

このバージョン1.1はまた、トランスポート層プロトコルとは無関係にプロキシ動作およびエンドツーエンドセキュリティのサポートを可能にするアプリケーション層セキュリティプロトコルOSCOREもサポートする。

実装

脚注 

通信プロトコル