Article Preview
Top1. Introduction
The concept of Smart home aptly justifies the popular thought by (Weiser, 1999) about technology becoming an integral and indistinguishable part of everyday life. Making everyday life easier with the help of technology dates back with notable works in embedded electronics e.g. washing machines, ovens, dishwashers etc., followed by innovations in wireless sensor networks (WSN) e.g. senor based things- taps, doors etc., which in present time is being endowed by the upcoming technology Internet of Things (IoT). In IoT, sensor based everyday devices communicate with the computing platforms (Fog computing, Cloud Computing platforms) for processing the raw sensor data to take wise and smart actions Atzori (2010) and Gubbi (2013). The distinct feature of IoT which differentiates it from its precursor technologies, is the use of a middleware to support processing and long-term analysis of sensor big data stream to take wise actions.
The IoT middleware (computing infrastructure to enable IoT data storage, processing and analysis) can be cloud based Gubbi et al. (2013) or fog computing based Bonomi et al. (2012), Dastjerdi et al. (2016). Per the cloud based IoT middleware, the Cloud platform offers its IaaS, PaaS and SaaS services to perform data storage, processing and analysis for IoT applications, and after the analysis meaningful results or actions are carried back to the user or actuator, in this way the cloud act as middleware for IoT wherein, the IoT data flow occurs in the loop as: user-cloud-user to realize sense-process-actuate sequence for IoT applications. Alike cloud computing, fog computing also offers storage and compute capacity, though bounded by limited resource capacity of fog nodes, but at a nearer distance (in terms of number of network hops) resulting in significant reduction in latency and communication cost. In contrast to the centralized resource pool in cloud computing, the resources in fog computing are distributed in nature and include all sort of potential storage and compute devices encountered across the network between end-user and the cloud and such fog nodes may include nearby idle PCs, servers, access points, routers, and also end-user devices etc. Bonomi et al. (2012). In simpler words, fog computing is the distributed computing paradigm, which provisions data storage, compute and networking on resources occurring between end-device and the cloud server, preferably choosing the resources nearer to the end-devices lying within the local edge network. Hence, it can be concluded that cloud is the centralized on-demand computing infrastructure, while fog is distributed opportunistic computing infrastructure. In fog computing, the management of IoT data within edge network helps to reduce latency, saves cloud communication bandwidth and enables capturing of context information by implicit location and situation awareness. Hence, this paper suggests using fog computing-based IoT middleware to perform IoT data storage and processing on devices such as home gateways, routers, desktop and other computing devices which exist near to the end devices. With sensing-processing-actuating loop, IoT enables enormous applications like smart home, smart healthcare, smart grid etc. However, IoT based smart home is the focus of this paper.