## 1 Introduction  
Through a range of studies on the IoT (Internet of Things) with versatile smart devices and sensors, the usage of the IoT has been gradually expanded from the smart home, healthcare, smart utilities, and smart transportation application domains to the Smart City concept, which covers all of these application domains [1]. In this environment, IoT systems connect and integrate a diverse and large number of devices represented as 'things' [2], and consequently face the following major challenges:  
* The amount of messages that must be processed or forwarded is growing exponentially since lots of devices are joined in a system. Therefore, an IoT system should be able to process huge messages at high speed. * Various devices use different kinds of message formats and protocols, and new devices with new features are being introduced in the market at this very moment. In this environment, any IoT system must have high flexibility and scalability. * Some devices in an IoT system may have high mobility. This means that frequent association and disassociation processes for the devices are necessary. Since these processes themselves can be a burden to the system, a method to address the heavy load problem is required. To address these diverse challenges, we propose a dual plane architecture for IoT systems which consists of a control plane and a data plane. The control plane processes signaling messages and the data plane takes charge of processing user-data messages. In this paper, an IoT system under the dual plane architecture is applied to the single plane IoT system developed in our previous research [3; 4]. The proposed system is applied to a remote healthcare system as a case study of IoT environments. In the system, messages going through the system are divided into signaling and user-data messages and are processed in the control plane and the data plane, respectively. The signaling messages are the controlling and managing messages for the IoT communication such as routing protocol, ARP (Address Resolution Protocol), ICMP (Internet Control Message Protocol) messages, and so on. Association and disassociation messages for a specific IoT device also belong to the signaling message. The user-data messages represent the measurement or sensing messages from IoT devices and are to be used by user-space applications such as monitoring and management servers. We also present the results of a performance comparison between the single plane and dual plane architecture of the IoT systems in terms of their throughputs and packet loss ratios. The experiments indicate that the message throughput and reachability of the dual plane IoT system are much higher than those of the single plane IoT system. The distinguishing features and benefits of the dual plane architecture are as follows:  
* High performance message processing: To improve message processing performance in the data plane, we apply zero-copy and PMD (Poll Mode Driver) concepts. Zero-copy helps to avoid the operation of copying received messages to a user-space application, and the PMD allows a received message to be bypassed from the complex kernel network stack and interrupt mechanism. * High scalability and ease of maintenance: To provide high scalability and ease of maintenance, the IoT system in this paper is implemented under a general purpose operation system, Linux in a commodity computer, an x86 machine, rather than a special purpose network processor. It is also implemented in C language. * Minimization of performance interference: To minimize the performance interference caused by the processing signaling message, the proposed architecture is a dual plane architecture. The control plane handles signaling messages, whereas the data plane processes the user-data messages. Since the two planes work independently and do not affect each other, the frequent and complex processing of signaling messages does not slow down the performance of user-data message processing. This paper is organized as follows.