OMA Device Management
OMA Device Management is a device management protocol specified by the Open Mobile Alliance Device Management Working Group and the Data Synchronization Working Group. The current approved specification of OMA DM is version 1.2.1, the latest modifications to this version released in June 2008. The candidate release 2.0 was scheduled to be finalized in September 2013.
Overview
OMA DM specification is designed for management of mobile devices such as mobile phones, PDAs, and tablet computers. Device management is intended to support the following uses:- Provisioning – Configuration of the device, enabling and disabling features
- Device Configuration – Allow changes to settings and parameters of the device
- Software Upgrades – Provide for new software and/or bug fixes to be loaded on the device, including applications and system software
- Fault Management – Report errors from the device, query about status of device
- small footprint devices, where memory and storage space may be limited
- constraint on bandwidth of communication, such as in wireless connectivity
- tight security, as the devices are vulnerable to software attacks; authentication and challenges are made part of the specifications
Technical description
Technically, the OMA DM protocol uses XML for data exchange, more specifically the sub-set defined by SyncML. The device management takes place by communication between a server and the client. OMA DM is designed to support and utilize any number of data transports such as:
- physically over both wireline and wireless media
- transport layers implemented over any of WSP, HTTP, or OBEX or similar transports
The communication is initiated by the OMA DM server, asynchronously, using any of the methods available such as a WAP Push or SMS. The initial message from server to client is said to be in the form of a notification, or alert message.
Once the communication is established between the server and client, a sequence of messages might be exchanged to complete a given device management task. OMA DM does provide for alerts, which are messages that can occur out of sequence, and can be initiated by either server or client. Such alerts are used to handle errors, abnormal terminations etc.
Several parameters relating to the communication such as the maximum message size can be negotiated between the server and client during the initiation of a session. In order to transfer large objects, the protocol does allow for sending them in smaller chunks.
Error recovery based on timeouts are not specified completely, hence, different implementations could possibly differ.
The protocol specifies exchange of Packages during a session, each package consisting of several messages, and each message in turn consisting of one or more commands. The server initiates the commands and the client is expected to execute the commands and return the result via a reply message.