The system should be perfectly working and delivering all of its specifications correctly. It is a very critical the requirement in applications that requires emergency responses.
In IoT applications, the system should be highly reliable and fast in collecting data, communicating them, and making decisions, and eventually, wrong decisions can lead to disastrous scenarios.
Managing all These devices and keeping track of the failures, configurations, and performance of a such large number of devices is a challenge in IoT.
Providers should manage Faults, Configuration, Accounting, Performance, and Security (FCAPS) of their interconnected devices and account for each aspect.
Interoperability means that heterogeneous devices and protocols need to be able to inter-work with each other.
This is challenging due to the large number of different platforms used in IoT systems. Interoperability should be handled by both the application developers and the device manufacturers to deliver the services regardless of the platform or hardware specification used by the customer.
IoT devices need to move freely and change their IP address and networks based on their location. Thus, the routing protocol, such as RPL has to reconstruct the DODAG each time a node goes off the network or joins the network which adds a lot of overhead.
In addition, mobility might result in a change of service provider which can add another layer of complexity due to service interruption and changing gateway.