3. Open research issues

In spite of the fact that the architectures which have described in earlier section make cognitive IoT concept feasible, there are still some open research challenges. In particular, a large effort of research is needed to enhance the technical constraints for IoT solutions. There are still many research challenges in the area of data collection, data ingestion, data storage, and data analysis as dynamic heterogeneous resources, data-centric issues, scalability, reliability, interoperability, fault tolerance, context awareness, cost, security, privacy, and data quality. In the following, we discuss some of the technical challenges due to 3V (volume, variety, velocity) problems:

  • Volume: Data source generates the amount of data every millisecond. Hence, the volume of data has been increasingly high. For instance, smart environment features a number of computing and sensing devices that provide for a high volume of collected data. Thus, the space of data store will not be enough if the amount of data gathered from sensor increases. In addition, some data store can have an insufficient store space such as the Hadoop cluster that needs to have space for MapReduce jobs, other workloads, and for the data storage requirements. Therefore, data volumes coming from sensors or other data sources that can be huge and tend to grow can bypass the storage capacity of a Hadoop cluster. Hence, the system may shut down.
  • Variety: Under the explosive growth of data, many various forms of data appear from a huge number of sources. Hence, entropies finds it so difficult to deal with the raw, semi-structured, and structured data by traditional relational tools. Hence, semantic and syntactical interoperability between various sources of data from different systems is very challenging in IoT because of heterogeneity.
  • Velocity: It is a frequency that is generated by massive data, shared and captured into a small period of time which is very important for greater real-time use cases in architectures. The increase in the frequency of data generation or data delivery in big data has to be able to deal with high velocity. The traditional architecture is not capable enough to perform the analyzing of data in motion or to deal with streaming data. For example, the data ingestion from various devices to the database would be continuously moving at certain speed. Thus, the time of the data analysis process is getting slower because it's influenced by the amount of data and complex algorithms.