|dc.description.abstract||With advances in technology, devices, machines, and appliances get smarter, more capable and connected to each other. This defines a new era called Internet of Things (IoT), consisting of a huge number of connected devices producing and consuming large amounts of data that may be needed by multiple IoT applications. At the same time, cloud computing and its extension to the network edge, fog computing, become an important way of storing and processing large amounts of data. Then, an important issue is how to transport, place, store, and process this huge amount of IoT data in an efficient and effective manner.
In this paper, we propose a geographically distributed hierarchical cloud and fog computing based IoT architecture, and propose techniques for placing IoT data into the components, i.e., cloud and fog data centers, of the proposed architecture. Data is considered in different types and each type of data may be needed by multiple applications. Considering this fact, we model the data placement problem as an optimization problem and propose algorithms for efficient and effective placement of data generated and consumed by geographically distributed IoT nodes. Data used by multiple applications is stored only once in a location that is efficiently accessed by applications needing that type of data. We perform extensive simulation experiments to evaluate our proposal and the results show that our architecture and placement techniques can place and store data efficiently while providing good performance for applications and network in terms of access latency and bandwidth consumed.||en_US