# Management Platforms and Protocols for Internet of Things: A Survey
## 4 IoT Network Management Protocols
### Internet of Things Platform's Infrastructure for Configurations (IoT-PIC)  
The IoT-PIC allows network management to perform the platform commissioning installed in the network. The IoT-PIC architecture is similar to the SNMP protocol previously described, as shown in Figure 9. It has the possibility of performing any configuration or composition of hardware and software resources.  
The IoT-PIC architecture have two levels, the global and local, and it is composed by two components, in which the communication among these components is made through the Extensible Messaging and Presence Protocol (XMPP) protocol [42]: an IoT-PIC Manager (PIC-M) at a global level and an IoT-PIC Agent (PIC-A) at a local level.  
The XMPP protocol is an open-source IETF standard protocol based on XML for network management in IoT contexts, which allows real-time messaging, the information exchange and request/response services. The XMPP performance of latency, scalability, and robustness has been widely demonstrated during the years [43].  
The PIC-M module is used to manage the configuration and access of the other modules to the platform. It interacts as an interface to applications and other platform components.  
The PIC-M functionalities consist in notifying the applications on the status of the device available in the middle-ware, requesting configuration information from the PIC-A via \"get\" and \"set\", through an XMPP command, and updating the configuration of devices through PIC-A via XMPP.  
The IoT-PIC uses the publish-subscribe, in which subscribers only receive messages of interest, without information on the publishers, which allows the complete decoupling of the devices. Each platform is associated with a PIC-A and responds to the management of the PIC-M device. The configuration and interconnection of devices are assigned to the PIC-A, e.g., adding and removing the connection.  
The IoT-PIC deploys the discovery functionality of devices through the XMPP protocol. New devices connected are automatically registered to the network, describing their functionalities with a common format [44]. Particularly, in the proposed solution, when a new device connects to the network, the manager of this network publish-subscribe joins in PIC-M for all discovered resources.  
A resource example is a sensor that measures humidity and temperature. Context Manager can create location-related nodes where devices can enter their location allowing navigation of the tree from the root. First, the PIC-M creates a collection node with a given device id, containing two nodes, in which the first node has the temperature function and the second node has the humidity function.  
Figure 9: Illustration of the IoT-PIC architecture.  
The resources of the nodes used in the service discovered by PIC-M are associated with the resource types list, i.e., _Humidity Sensor_ and _Temperature Sensor_. The functions of the nodes are associated with the operation list, i.e., _getTemperature_ and _getHumididity_. This list creates the entire hierarchy of nodes and, if the user does not indicate the parameter, the entire list is returned.  
_Pros: Interoperability and global/local management_.  
_Cons: No mature protocol and security feature_.  
Use Case  
The IoT-PIC is used in an energy efficiency scenario. The IMPReSS platform [45] includes energy saving and alarm system applications to allow sensor, lights, and smart plugs into the platform. To save energy, the Energy Saver manages the light through the PIC-M and tells the PIC-A of the lights management component to publish/subscribe node of the device in order to receive its events; e.g., in a classroom, detects motion sensor if a row of seats is empty, in which case the lights are automatically switched off.  
The GUI interface converts the XML returned by response of the PIC-M into a user-friendly form. This platform allows integrating new devices without need modifications to the deployment environment.