Overview of the Movimento connected vehicle management protocols for over-the-air updates and other operations. Movimento Group is part of the Delphi Automotive PLC company.
3. 3www.movimentogroup.com
Movimento OTA System
Movimento Cloud® is the cloud-based software-management component.
Movimento Client® is a software agent for over-the-air (OTA) solution.
4. 4www.movimentogroup.com
Movimento Clients and Protocols
OMA-DM
protocol
LwM2M
protocol
MQTT
protocol
OTA Client
Bootstrapping, session,
FUMO, SCOMO,
LAWMO
LwM2M Client
Bootstrapping, session,
manage objects
Data Client
Bootstrapping, obtain
logs, push rules/scripts
Session, manage data
objects
Matrix of supported protocol by Movimento Clients.
5. 5www.movimentogroup.com
OMA-DM Overview
Open Mobile Alliance Device Management: http://www.openmobilealliance.org/
3B+ devices, including IoT, mobile 3GPP/IMS, WiFi, automotive, etc.
Main Uses:
Configuration
settings
Operating
parameters
Software
installation &
parameters
Software &
firmware
Updates
Application
settings &
interfaces
User
preferences
Service
metrics
6. 6www.movimentogroup.com
OMA-DM Protocol Stack
TCP/IP transport (typical), transport agnostic
TLS v1.2 transport security using X.509 certificates
HTTP/RESTful APIs
Messages: JSON or XML format
Managed Objects (MOs): DEVINFO (device info MO), DEVACC (device account MO), FUMO (firmware update MO), SCOMO (software
components MO) , LAWMO (lock and wipe MO), etc.
Nodes: objects inside tree for each MO, hierarchy (child, leaf)
Client-Server architecture
7. 7www.movimentogroup.com
OMA-DM: v2.0 vs v1.0
OMA-DM 2.0 reuses the same management objects.
New MOs (via intermediate versions): SCOMO, LAWMO, VirMO, DiagMon MO, ConnMO, Browser
MO - BMO, Management Policy MO).
OMA-DM 2.0 introduces new Client-Server DM protocol: new message format JSON vs. XML.
DM tree organization and access simplification.
9. 9www.movimentogroup.com
Example: F/W Update
Device registration and bootstrapping (=provisioning) include:
Obtaining data from vehicle, devices.
Device registration to the server (pre-registration or self-registration).
Synchronization of the tree.
Exchange of capabilities.
Session:
Obtaining version.
Determine patch.
Download and evaluate package.
Install patch (delta) or full image.
Status alert .
Restart target system.
10. 10www.movimentogroup.com
LwM2M Overview
OMA-LwM2M: Open Mobile Alliance Light Weight Machine-to-Machine protocol
LwM2M Enabler defines the application layer communication protocol between a Server and a Client.
Client‐Server Protocol is based on open IETF standards.
CoAP is an alternative to HTTP for RESTfull APIs in resource‐constrained area.
CoAP and DTLS are bound to UDP or SMS bearers .
• Typically :
In LwM2M, the Server resides in a Data Center and the Client resides in the Device.
LwM2M separates Protocol Commands and Data Object (as in OMA DM 1.x and 2.0).
• LwM2M Enabler is focused on constrained M2M devices (low‐power μC, low amount of Flash & RAM).
Applicable to Cellular, 6LoWPAN, WiFi or any other IP based constrained devices or networks.
Public registry of Objects from OMA, other SDOs or enterprises.
11. 11www.movimentogroup.com
LwM2M Protocol Stack
Client‐Server Protocol based on CoAP
(HTTP‐like protocol adapted to constrained
context).
Extensible Object and Resource model for
application semantics.
A Client has one or more Object Instances.
An Object is a collection of Resources.
A resource may be “Read”, “Written” or
“Executed” and “Observed”.
A Resource may contain :
- a piece of information (value).
- a reference to an other Object Instance.
Resources can have multiple instances.
Source: http://openmobilealliance.org/about-oma/work-program/device-management
12. 12www.movimentogroup.com
What is Lightweight?
CoAP vs HTTP rational for constrained
environments:
HTTP ‐ ASCII‐ 55 Bytes Header vs.
CoAP ‐ Binary‐ 4 Bytes header.
TCP is reliable protocol, UDP is not.
Less chatty, shorter messages
translate into lower device power
consumption.
Shorter sessions translate into less
chances to highjack.
Source: http://openmobilealliance.org/about-oma/work-program/device-management
13. 13www.movimentogroup.com
LWM2M Movimento Supported Objects
1. Firmware Update: This LWM2M Object enables management of a firmware which is to be updated. This Object
includes installing firmware package, updating firmware, and performing actions after updating firmware. A reboot
of the device must occur for using the newly installed firmware.
2. Location: This LWM2M Objects provide a range of device related location information which can be queried by
the LWM2M Server.
3. Device: This LWM2M Object provides a range of device related information which can be queried by the LWM2M
Server, and a device reboot and factory reset function.
4. Access Control: Access Control Object is used to check whether the LWM2M Server has access right for
performing an operation.
5. Server: This LWM2M Objects provides the data related to a LWM2M Server. A Bootstrap Server has no such Object
Instance associated to it.
6. Security: This LWM2M Object provides the keying material of a LWM2M Client appropriate to access a specified
LWM2M Server.
14. 14www.movimentogroup.com
LWM2M Bootstrapping & Flow
4 Categories of LwM2M Operations
Bootstrap operations
Discovery/Registration operations
Device Mgmt & Serv. Enablement Operations
Observe & Notify operations (Information reporting)
LwM2M Operations are mapped on :
GET, PUT, POST and DELETE CoAP Operations
Source: http://openmobilealliance.org/about-oma/work-program/device-management
15. 15www.movimentogroup.com
LWM2M Supported Interfaces
CoAP uses HTTP based commands (GET, POST, PUT, DELETE) to implement operations.
Supported Interfaces between the Client and Cloud and operations:
Bootstrap (Registration, Configuration: Delete, Write, Finish)
Client Registration (Register, Update Registration, Deregister)
Device Management and service enablement (Read, Discover, Write, Write Attribute, Execute,
Create, Delete)
Information Reporting Interface (Observe, Notify, Cancel Observation)
16. 16www.movimentogroup.com
MQTT Overview
NOTE: Movimento Data Client uses OMA-DM for registration, MQTT for data session only:
MQTT: Multi Queue Telemetry Transport
Founded IBM & Eurotech, now http://mqtt.org
Data Client shares architectural blocks and can be packaged with OTA Client
Publisher-Subscriber model for telemetry and low speed bandwidth (typically Client-Publisher,
Server-Subscriber)
MQTT Broker is the same as the Server (Movimento Cloud)
17. 17www.movimentogroup.com
MQTT Model
Topics: queue messages.
Support publish-subscribe.
Client subscribes to topics
(publish, receive).
Server runs topics and
receives, forwards messages.
Session: connection between
the two for exchange.
Source: www.indigoo.com/dox/wsmw/1_Middleware/MQTT.pdf
18. 18www.movimentogroup.com
MQTT Protocol Stack
TCP/IP transport.
TLS v.1.2 with X.509 certificates.
The management session is designed for managed objects exchange.
Resource for an object is either pre-defined data or dynamic data. It can be a file.
MQTT defines methods (verbs) for a resource: Connect, Disconnect, Subscribe UnSubscribe, Publish.
The Data Client allows device (ECU) identification, account information, pushing file containing rules, obtaining
device logs, sensors data.