3. Taxonomy

Let us now propose taxonomy for research in IoT technologies (see Figure 3). Our taxonomy is based on the architectural elements of IoT as presented in Section 2.


Figure 3 

Taxonomy of research in IoT technologies.


The first architectural component of IoT is the perception layer. It collects data using sensors, which are the most important drivers of the Internet of Things. There are various types of sensors used in diverse IoT applications. The most generic sensor available today is the smartphone. The smartphone itself has many types of sensors embedded in it such as the location sensor (GPS), movement sensors (accelerometer, gyroscope), camera, light sensor, microphone, proximity sensor, and magnetometer. These are being heavily used in different IoT applications. Many other types of sensors are beginning to be used such as sensors for measuring temperature, pressure, humidity, medical parameters of the body, chemical, and biochemical substances, and neural signals. A class of sensors that stand out is infrared sensors that predate smartphones. They are now being used widely in many IoT applications: IR cameras, motion detectors, measuring the distance to nearby objects, presence of smoke and gases, and as moisture sensors. We shall discuss the different types of sensors used in IoT applications in Section 5.

Subsequently, we shall discuss related work in data preprocessing. Such applications (also known as fog computing applications) mainly filter and summarize data before sending it on the network. Such units typically have a little amount of temporary storage, a small processing unit, and some security features.

The next architectural component that we shall discuss is communication. We shall discuss related work (in Section 7) on different communication technologies used for the Internet of Things. Different entities communicate over the network using a diverse set of protocols and standards. The most common communication technologies for short range low power communication protocols are RFID (Radio Frequency Identification) and NFC (Near Field Communication). For the medium range, they are Bluetooth, Zigbee, and WiFi. Communication in the IoT world requires special networking protocols and mechanisms. Therefore, new mechanisms and protocols have been proposed and implemented for each layer of the networking stack, according to the requirements imposed by IoT devices.

We shall subsequently look at two kinds of software components: middleware and applications. The middleware creates an abstraction for the programmer such that the details of the hardware can be hidden. This enhances interoperability of smart things and makes it easy to offer different kinds of services. There are many commercial and open source offerings for providing middleware services to IoT devices. Some examples are OpenIoT, MiddleWhere, Hydra, FiWare, and Oracle Fusion Middleware. Finally, we discuss the applications of IoT in Section 9. We primarily focus on home automation, ambient assisted living, health and fitness, smart vehicular systems, smart cities, smart environments, smart grids, social life, and entertainment.