Abstract
Consolidating a variety of IoT devices to compose the application for smart things has been applied in many fields recently, e.g., smart toy, smart museum, etc. Many works discussed about how to build a system to integrate things on network and how to improve some properties, e.g., service quality and latency. However, for real case IoT application, because of the ever-increasing number of heterogeneous devices, how to reduce severe IoT network congestion and surging cloud servers loads are an important issue. In this thesis, we propose a common M2M framework which can dynamically push the program to the nodes which are in the M2M framework. The programs can be pre-process programs which can pre-process data to extract some higher-level features before transmitting them over the Internet, or be whole IoT applications located at the closest position to the served node, which can process all IoT data from the served node. Furthermore, we propose a resource reused method using the OSGi specification to reduce the deployment time in order to provide the high-quality service as soon as possible. Moreover, we formulate a placement problem of program. We propose an efficient heuristic placement algorithm to solve the problem. Finally,we evaluate some performance of our proposed M2M framework and resource reused method. The results show that using resource reused method can improve the deployment time effectively in our proposed M2M framework, and the proposed algorithm shows near-optimal performance in real-time. Index Terms—Internet of Things, Machine-to-Machine (M2M) Framework, Module Deployment, Placement Optimization, Cloud Computing