# Management Platforms and Protocols for Internet of Things: A Survey
## 7 IoT Device Management Protocols
### CPE WAN Management Protocol (CWMP)  
Technical Report 069 (TR-069) is a specification that defines an application layer protocol for Device Management. It was initially published by Broadband Home Working Group and received the name of CPE WAN Management Protocol (CWMP). CWMP is an IP-based protocol and uses XML for all messages, as presented in Figure 20. It provides transaction confidentiality over Transport Control Protocol (TCP) with Secure Sockets Layer (SSL) or Transport Layer Security (TLS) and allows levels of authentication. The protocol uses Hypertext Transfer Protocol (HTTP) and Simple Object Access Protocol (SOAP) based on Web services. The data models standardized and security methods are advantages of CWMP over SNMP.  
This protocol works between CPE (Customer-premises equipment) and the Auto-Configuration Server (ACS), achieving better scalability and cost reduction results. Many CPEs can be managed simultaneously by ACS because the session starts and short times are reserved for CPE [87]. The security of this protocol depends on ACS [88; 89]. A problem with this protocol is the scalability of  
\begin{table}
\begin{tabular}{c c} \hline
**Operational Messages** & **Description** \\ \hline \multirow{2}{*}{GetInformationObject} & In IoT application, this message is used to \\  & read things information object. \\ \hline \multirow{2}{*}{GetNextInformationObject} & Used to read one or more things information \\  & object next to the current object. \\ \hline \multirow{2}{*}{SetInformationObject} & Used to write one or more things information \\  & object. The value of one thing information object \\  & is written per one operation. \\ \hline \end{tabular}
\end{table}
Table 4: TMP Operational Requests/Response Messages.  
Figure 19: Illustration of the Things Management Protocol architecture.  
the high volume of CPE for a single ACS. Thus, there is a proposal of addiction the components of the ACS management architecture using dynamic grouping, and sub-ACS structure [90].  
The ACS can control the CPE through the _get_ and _set_ methods as parameter values. In the first message, the CPE sends CPE information, e.g., identification, manufacturer, and serial number to the ACS. Then, ACS sends a request with parameters for CPE to execute. After receiving all the answers or does not have requests, CPE closes the session. An Inform message initialize the management session. The client identifies this message, which is confirmed by an InformResponse message by the server. Subsequently, the client can request or assign one or more parameters with a GetParameterValue and SetParameterValue message. Both messages are committed with a SetParameterResponse or GetParameterResponse and the parameter values are updated. Finally, a management session is finalized.  
_Pros: Secure auto-configuration and standardize management of devices._  
_Cons: lack of standard for different devices._  
Incopnito ACS is an integrated system to the SAC [91]. It allows to manage copyright of the subscribers, e.g., group of channels or videos on demand over IP. The SAC authorizes TR-069 gateway activation and diagnostics. In the gateway it is possible to execute commands to learn about devices, services, or customer quality. As another use case example, the COSMOS (CPE Operation Support Management and Optimization System) is a CWMP-based Operations Support System (OSS) used to provide integrated multi-function which has an easy to use operating environment. Multi-vendor CPEs (common gateways) are managed by COSMOS, and this system is described in [92].