A General-purpose Platform for Remote Control of IoT Devices
LwM2M Open API Management of IoT Devices
Kenji Okamura, Aya Yamakado and Yuichiro Kurokawa
Core Network Development Department
With the recent proliferation of IoT devices and IoT-related services, the efficiency of control and maintenance of the vast number of IoT devices has become an issue. For example, if the UI of a system for managing IoT devices is only a browser-based Web UI, and a user wants to batch process a large number of IoT devices, the user must manually work on each device with the browser in an inefficient manner. It has thus become a challenge to create a mechanism for easily executing arbitrary batch processing. Taking up that challenge, NTT DOCOMO has developed the “docomo IoT-device-management platform,” which provides an open API and Web UI, to improve operability and convenience of remote management and control of IoT devices. In comparison to the former system, the developed platform is improved in terms of increased flexibility of connections from the user environment to the platform, enhanced choice of user IoT devices, and easier connection to IoT devices.
NTT DOCOMO has long provided an IoT-device-management platform, ...
NTT DOCOMO has long provided an IoT-device-management platform (hereafter referred to as the “former system”) on Amazon Web Services (AWS)*1. The system can manage IoT devices through a Web UI*2 accessed by a Web browser, and it can also update the firmware of IoT devices. However, demands for system scalability that can respond to increasing demand for IoT devices, device management from systems other than Web UIs, and further reduction of power consumption of IoT devices are growing. In response to those demands, NTT DOCOMO has developed a new system, namely, “docomo IoT-device-management platform,” that satisfies each of these demands while utilizing the functions of the former system.
When implementing the new system, we reconfigured the former system as an IoT-device storage node (virtualized Device Management Equipment (vDME)*3), which communicates with IoT devices using the Open Mobile Alliance Lightweight Machine to Machine (OMA-LwM2M)*4 protocol (i.e., an IoT standard specification) and a service control node (Device Service Platform (DSP)*5), which is an interface for managing and controlling IoT devices. Separating the configuration in this manner makes it possible to flexibly add functions and expand services in the future.
In this article, the overall configuration of the developed system, the achievement of scalability, the division of functions between the vDME and DSP nodes, a newly developed open Application Programming Interface (API)*6, and an innovative way to reduce power consumption are described.
- AWS: A cloud-computing service provided by Amazon Web Services, Inc.
- Web UI: Operation screens and methods for exchanging information between users and computers on Web browsers.
- vDME: A node (created on a virtualization platform) that houses and controls various types of communications terminals (including IoT devices).
- OMA-LwM2M: A communications protocol standardized by the Open Mobile Alliance for management of IoT devices.
- DSP: A node that provides a UI for managing and controlling various types of communications terminals (including IoT devices).
- Open API: An interface that exposes (opens) an application to users so they can use a specific service. In this article, it specifically refers to RESTful APIs.
As for the former system provided by NTT DOCOMO, NTT DOCOMO provides ...
As for the former system provided by NTT DOCOMO, NTT DOCOMO provides a Web UI through which users can give control instructions to and manage IoT devices. However, with the recent increase in the number of IoT devices, the number of IoT devices that the former system could accommodate was becoming unmanageable. The former system also lacked functionality, so additional functions had to be added to meet new needs. Aiming to make it possible to increase the number of IoT devices accommodated flexibly, we developed a system—called “docomo IoT-device-management platform” (hereafter referred to as “the platform”)—that can operate on a platform using NTT DOCOMO’s virtualization technology, and we also addressed the addition of functions.
When developing this platform, we improved development efficiency by using functions and programs of the former system, expanding those functions, increasing the number of IoT devices accommodated, and reducing power consumption through control focusing on the parameters of the OMA-LwM2M protocol for managing IoT devices.
The overall configurations of the former system and the platform are compared in Figure 1. The system configuration of the platform is divided into two functions: a DSP, which provides a Web UI for managing and controlling IoT devices, and a vDME based on an IoT service model. The DSP provides a Web UI for managing and controlling IoT devices and an open API that enables similar management and control. The vDME terminates the Constrained Application Protocol (CoAP)*7 and HyperText Transfer Protocol (HTTP)*8 and HTTP Secure (HTTPS)*9 communications, which are application layer protocols of OMA-LwM2M with IoT devices, and it plays the role of a file server for managing the firmware of IoT devices. This configuration enables the platform to be used in two ways, namely, as a Web UI (Internet Secure Socket Layer (SSL) *10) or an open API. Communications between the user PC and the user system was secured by applying authentication and encryption technologies.
A function map that illustrates the functions of the platform by category is shown in Figure 2.
- CoAP: A communications protocol that operates like HTTP and uses User Datagram Protocol (UDP) for power-saving, low-capacity devices such as IoT devices.
- HTTP: A communications protocol used between Web browsers and Web servers to send and receive HyperText Markup Language (HTML) and other content.
- HTTPS: An extension of HTTP for secure HTTP communications using the Transport Layer Security (TLS) protocol to prevent spoofing, intermediary attacks, and eavesdropping.
- Internet SSL: A protocol for secure communications between a client and a server, mainly over the Internet, by encrypting the communications and detecting data tampering.
The number of IoT devices to be accommodated on the platform is expected to ...
The number of IoT devices to be accommodated on the platform is expected to continue to grow, so it is necessary to expand the platform to accommodate this growth. Therefore, building the platform on NTT DOCOMO’s virtualization infrastructure makes “scaling”*11—namely, flexible system expansion in response to increasing demand—becomes possible. NTT DOCOMO’s virtualization infrastructure uses a Network Functions Virtualization (NFV) infrastructure*12, which optimizes and minimizes the number of steps involved in scaling. Moreover, the auto-healing*13 function, a virtualization technology, enables stable continuity of services in the event of failure.
- Scaling: Optimizing processing capacity by increasing or decreasing the number of Virtual Machines (VMs) that make up the communications software—according to on the load status of hardware or virtual machines—when the processing capacity as communications software becomes insufficient or excessive.
- NFV infrastructure: An infrastructure that uses virtualization technology to implement telecommunication-carrier networks on general-purpose hardware.
- Healing: A procedure for restoring communications software to a normal state in the event of a hardware or VM failure by moving the VM to (or recreating the VM on) hardware operating normally.
As for the former system, the only way for users to access the system was ...
As for the former system, the only way for users to access the system was through a Web UI. Accordingly, there was a request from users to be able to implement applications (which combine APIs for the functions they need) in their own systems and to manage and control IoT devices using these applications. As for the platform, a RESTful*14-compatible open API is implemented to meet this request. The open API is available via the Internet and is open to the users of the platform. An illustration of processing with the open API/Web UI is shown in Figure 3. When a user accesses the platform via the open API or Web UI, the DSP accepts it and passes instructions to the vDME in accordance with the interface specification for the vDME. The vDME controls IoT devices according to instructions received from the DSP.
This configuration enables users to obtain information about their IoT devices, manage and control firmware updates, etc. directly from their systems by using open APIs. The open-API specifications and Software Development Kit (SDK)*15 samples are made available to users through secure communications between external systems and the platform—based on authentication and encryption technologies—in a manner that facilitates the use of the open API.
- RESTful: The idea of obtaining and/or providing information by directly pointing to the information to be provided in a stateless manner.
- SDK: A set of documents, tools, libraries, sample programs, etc. needed to create applications.
“Lifetime” is one of the standard parameters of the OMA-LwM2M protocol. Lifetime is ...
“Lifetime” is one of the standard parameters of the OMA-LwM2M protocol. Lifetime is the time that an IoT device is registered with the platform when its “Binding Mode”*16 is “Queue Mode”*17. If no update communications is received from the IoT device within the Lifetime, the platform will deregister the IoT device. When the Lifetime value is small, the register period is short, and IoT devices send updates frequently in a manner that consumes more power; even so, the platform can acquire real-time communications status. On the contrary, when the Lifetime value is large, the register period is long, and updates are sent infrequently in a manner expected to save power; however, the timeliness of information acquisition is reduced. In other words, it is necessary to strike a balance between acquisition of real-time communications status and reduction of power consumption by setting the Lifetime value according to the user’s purpose of using IoT services. As for the developed platform, the Lifetime value can be set and changed at arbitrary times for each user. In other words, the platform provides a flexible mechanism that balances acquisition of real-time communications status and reduction of power consumption.
- Binding Mode: A parameter that determines the behavior of IoT devices as defined in OMA-LwM2M.
- Queue Mode: One of the operating modes of IoT devices defined by OMA-LwM2M.
In this article, the overall configuration of the platform, namely, ...
In this article, the overall configuration of the platform, namely, “docomo IoT-device-management platform,” the achievement of scalability, the division of functions between the vDME and DSP nodes, the platform’s newly developed open API and an innovative way to reduce power consumption were described. From now onwards, we will continue to consolidate the needs for IoT-device management and add the functions to this platform required to meet those needs.