enhanced cluster-based coap in internet-of-things networks - … · 2018-01-29 · iot devices can...

7

Upload: others

Post on 19-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Enhanced Cluster-based CoAP in Internet-of-Things Networks - … · 2018-01-29 · IoT devices can be connected to Internet, and also can be controlled remotely. Recently, the expectation
Page 2: Enhanced Cluster-based CoAP in Internet-of-Things Networks - … · 2018-01-29 · IoT devices can be connected to Internet, and also can be controlled remotely. Recently, the expectation
Page 3: Enhanced Cluster-based CoAP in Internet-of-Things Networks - … · 2018-01-29 · IoT devices can be connected to Internet, and also can be controlled remotely. Recently, the expectation

Enhanced Cluster-based CoAP in Internet-of-Things Networks

Dong-Kyu Choi School of Computer Science and Engineering,

Kyungpook National University Daegu, Korea

[email protected]

Joong-Hwa Jung School of Computer Science and Engineering,

Kyungpook National University Daegu, Korea

[email protected]

Seok-Joo Koh School of Computer Science and Engineering,

Kyungpook National University Daegu, Korea

[email protected]

Abstract—Recently, the Constrained Application Protocol

(CoAP) has been developed for remote control of sensor devices in Internet of Things (IoT) networks. In CoAP, since the sensor and the server communicate with each other on a one-to-one basis, the load on the server will increase as the number of sensors increases. To overcome this limitation of CoAP, there is a simple extension of the CoAP using a clustering approach: cluster-based CoAP for message queueing. In this paper, we propose an enhanced cluster-based CoAP scheme for efficient gathering of sensing data. By using a cache memory on the cluster head, the communication performance can be improved in the IoT networks. From testbed experimentation of the enhanced cluster-based CoAP, we can see that the proposed scheme provides better performance than the CoAP and existing cluster-based CoAP scheme, in terms of bandwidth utilization. In addition, the load given to sensor can be alleviated with the help of the proposed scheme.

Keywords—Internet of Things, CoAP, enhanced cluster-based CoAP, cache memory, bandwidth, load

I. INTRODUCTION The Internet of Things (IoT) provides an autonomous convergence service by connecting things to the Internet, through interaction and intelligence appropriate to the situation anytime and anywhere. The IoT is emerging as an optimal means of solving the issues of future society. [1]-[2] All of the IoT devices can be connected to Internet, and also can be controlled remotely.

Recently, the expectation and interest of the IoT is increasing. The Internet Engineering Task Force (IETF) is developing the Constrained Application Protocol (CoAP) , which is a web technology correspondence protocol that can accommodate various nodes. [3]-[4] CoAP is based on a lightweight Representational State Transfer (REST) architecture that is used in small devices such as sensor nodes or control nodes, where there are resource constraints such as memory capacity, computing performance, and battery. The REST architecture supports features such as resource discovery, multicast, asynchronous processing requests and responses. The message size is small and can easily be converted and interworked with existing HTTP Web protocols.

As the IoT market has become more active, the number of the IoT devices has increased, and traffic on the networks has become more complicated. A more efficient way of messages transfer over a constrained IoT environment is a major issue. As the number of sensors increases, there is a problem that the

server manages all the sensor devices. In order to reduce the load on the server, the cluster head is used to manage the sensor device, and the data transmitted from the sensor is firstly processed and transmitted to the server. This reduces the load on the server and makes it easier to manage the IoT devices in specific spaces.

In this paper, we propose an enhanced scheme for efficient data transmission using cluster-based CoAP for message queueing system. We have revised some features of the general scheme in order to make existing models fit for gathering the data from sensors in the cluster head management domain. Also, we use the cache memory in the cluster head to temporarily store the sensing data and then transmit the cache memory data instead of requesting the sensor status every time the server requests it. The proposed scheme uses rule-based technology to transmit sensing data to the server after updating the cache memory data, when it meets certain conditions, rather than sending all data to the server. By managing the data traffic through the cluster head, data transmission over the IoT network can be made more efficient. It also manages the IoT devices in a static space and is efficient in data processing.

This paper organized as follows. Section II describes the cluster-based CoAP scheme for message queueing. In Section III, we discuss the proposed enhanced cluster-based CoAP scheme for efficient data gathering. Section IV presents the performance analysis of the proposed scheme. Finally, Section V concludes this paper.

II. CLUSTER-BASED COAP FOR MESSAGE QUEUEING

A. Overview Cluster-based CoAP for message queueing scheme [5] is implemented using the CoAP Observe function [6]-[8] and uses cluster head that manages devices in a constrained environment in a cluster form. The cluster head manages the sensors belonging to the cluster using the topic attribute. The client can communicate with the other client only thorough the cluster head. Each device needs to go through a registration process with the cluster head with the topic information of interest. After the cluster is formed, the cluster head receives a message from the server to be transmitted to the devices belonging to the cluster. The cluster head sends the received message to the devices in the cluster using multicast. Since the cluster head and the server have to maintain communication, the server sends a message related to the connection to the head

652978-1-5386-2290-2/18/$31.00 ©2018 IEEE ICOIN 2018

Page 4: Enhanced Cluster-based CoAP in Internet-of-Things Networks - … · 2018-01-29 · IoT devices can be connected to Internet, and also can be controlled remotely. Recently, the expectation

of the cluster at a predetermined time interval in order to maintain the communication.

B. Description pFigure 1 shows the system architecture of cluster-based CoAP for message queueing scheme. The cluster head sends the message to the server, including the specific topic information. The server sends the messages to the message queue to the cluster head at once, under certain conditions or time. When a cluster head receives a message from a server, it uses multicast to send a message to each sensor in the cluster.

ServerCluster Head

Sensor1

Sensor3

CoAP-Observe

Sensor2

Fig. 1. Cluster-based CoAP for Message Queueing

The cluster head sends its identifier to the nearby sensor devices using broadcasting for cluster formation. The sensor receiving this message responds to the cluster head with the identifier of the cluster to which it wants to participate and with the topic information that it is interested in. The cluster head collects these messages for a certain period of time, and then it informs the server that the cluster has been formed.

Server Cluster Head Sensor1 Sensor3Sensor2

GET/Sensor1Observe:0

2.05 Content

2.05 Content

GET/Sensor3 Observe:0

GET/Sensor2 Observe:0

2.05 Content

CoAPPayload : Sensor1, 2

CoAPPayload : Sensor3

Fig. 2. Operation Flows for Cluster-based CoAP

Figure 2 represents the operation flows of the cluster-based CoAP for message queueing. The cluster head sends an CoAP-observe request to each sensor in the cluster to receive the updated status of the sensor. The cluster head stores the received messages in the message queue and then sends the queued messages to the server when certain conditions are met.

III. ENHANCED CLUSTER-BASED COAP SCHEME

A. Proposed Scheme Description We propose two suggestions to improve the existing cluster-based CoAP scheme. First, it is a scheme in which the server processes the client’s request message according to an option. This will be described in the subsequent section on message format. Another suggestion is to use the cache memory on the cluster head.

The cluster head with cache memory does not request sensing data to the sensor, each time it receives a request from the server. The cache memory temporarily stores sensing data in a table format. Table 1 describes the table information in the cache memory. There are 4 attributes in the cache table which are Device-ID, Topic, Modified-time, Representative. The Device-ID is an identifier for identifying a device, and the Topic is a category of data. The Modified-time represents the time at which the cache table was modified. Finally, the Representative stores the value for the topic.

TABLE 1. CACHE TABLE

Attribute Description Device-ID Device Identifier

Topic Category of data Modified-time Time at which the cache table was modified Representative Value for the topic

The cluster head periodically receives a value from the sensor and updates the cache memory data, whenever the value meets a specific condition. It is possible to reduce the load on the server because the server does not need to directly request a state to the sensor, and the sensor also has the advantage of processing speed and lifetime of the sensor because it transmits only the sensing data periodically.

B. Message Format The CoAP has an option called uri-path by default. The uri-path option represents a segment of the absolute path of the resource to be requested. Since the client's request reaches the corresponding resource on the server, the client request message must include the uri-path option, and there can be only one. It is not easy to obtain representatives of multiple resources at once from an existing CoAP scheme.

To overcome this problem, we added an option called multi-uri-path. A request message can include several multi-uri-path options. The server can use the time-limit option to limit the response time from the cluster head. Also, the modified time option allows the server to obtain a modified-time as well as a resource representative stored in the cache table.

Table 2 lists the options used by the proposed scheme.

653

Page 5: Enhanced Cluster-based CoAP in Internet-of-Things Networks - … · 2018-01-29 · IoT devices can be connected to Internet, and also can be controlled remotely. Recently, the expectation

TABLE 2. OPTION LIST

Name Type Description

Multi-uri-path 100 Request multiple resource representatives

Time-limit 101 Limit the response time Include-

modified-time 102 Request the representative with modified-time attribute

Figure 3 shows a GET request message that server sends to the cluster head. The first option in this message has the type number 11. This means that this option is uri-path, and this request has to be handled at the resource named cluster on the cluster head. The message requests the representatives of three topics by including three multi-uri-path options that have each target resources uri as value. Since the type of the multi-uri-path is 100, the first multi-uri-path option’s delta has 13 and extended delta has 76 in order to indicate 100. and the following multi-uri-path options delta is 0 because the delta is a cumulative value in CoAP. Finally, this message has Time-limit option that restricts the response time to 30 seconds.

Fig. 3. Example of a GET Request Message

C. Scenarios and Operation Flows The proposed scheme has the three scenarios. Scenario 1 is applied when cache memory has no data. In this case, the server receives the request message from the client, and the server requests the sensing data to the cluster head. The server waits for a certain time for the request message that was received from the client, and sends a request message at a time using the multi-uri-path. The cluster head refers to the cache table. If there is no data in the cache table, it sends a request message to the sensor using multicast. The sensor sends the data to the cluster head, including the topic information. The cluster head updates the cache table based on the received data and sends the data to the server at a time. Figure 4 shows the operation flows corresponding to Scenario 1.

Scenario 2 is applied when cache memory has all the data that meets the condition. The cluster head does not need to send a request message to the sensor. When it receives a request from the server, it sends the data in the cache table. Fig. 5 shows the operation flows corresponding to Scenario 2.

Scenario 3 is applied when there are data in the cache memory and only one piece of data is needed. In this case, the cluster head checks the cache table and requests only the specific sensor that corresponds to the necessary data using unicast. The sensor sends the data to the cluster head, and the cluster head updates the data in the cache table and sends the

data to the server. Figure 6 shows the operation flows corresponding to Scenario 3.

Fig. 4. Operation Flows for Scenario 1

Fig. 5. Operation Flows for Scenario 2

Fig. 6. Operation Flows for Scenario 3

654

Page 6: Enhanced Cluster-based CoAP in Internet-of-Things Networks - … · 2018-01-29 · IoT devices can be connected to Internet, and also can be controlled remotely. Recently, the expectation

IV. PERFORMANCE ANALYSIS

A. Experimental Setup We verify the performance of the proposed scheme by comparing it with CoAP and Cluster-based CoAP in some environments. First, we measure the bandwidth of the three models on a testbed that is implemented using Californium library. Next, we analyze the load to sensors with the number of requests received by a sensor. We used multicast for the communication between the cluster head and sensors when cluster head request to two or more sensors. Figure 7 shows testbed architecture.

Fig. 7. Testbed architecture

We assume that clients send 1000 requests per a topic in this experimental. Table 3 shows the parameters for the experimental.

TABLE 3. THE PARAMETERS FOR THE EXPERIMENTAL SETUP

Name Description Value

Nreq_ser The number of requests transferred to server 1000

Tw Time for collecting requests 1 sec

Te Expiration time of a resource representative in cache table 30 sec

Ns The number of sensors variable

Ti The mean of interval between requests for a topic variable

B Bandwidth obtained by experimental

Nreq_sen The number of requests transferred to a sensor

obtained by experimental

B. Number of Sensors We first compare the required network bandwidth according to the number of sensors. We compare existing CoAP, Cluster-based CoAP, and enhanced Cluster-based CoAP. In this experiment, Tw was fixed to 1 second, Ti to 60 seconds, Te to 30 seconds, and Ns was changed.

Figure 8 shows the required network bandwidth for different numbers of sensors. In the figure, the cluster-based CoAP gives better performance than CoAP when the number of sensors is 20. The proposed Enhanced Cluster CoAP improves the performance by using cache memory, compared to the cluster-based CoAP.. By using the multi-uri-path option, multiple request messages can be sent as a single message, which increases the size of one message packet. However, it

reduces the number of message transmissions. This is preferred in terms of bandwidth usage. In the proposed scheme, the cluster head does not send a request message to the sensor, because it can uses the data in the cache table. This reduces the number of request messages and reduces the bandwidth usage.

Fig. 8. Bandwidth according to the number of sensors (Ns)

As the number of sensors increases, the bandwidth usage of the CoAP increases constantly, and the difference in the bandwidth usage between the cluster-based CoAP and the proposed scheme increases.

C. Intervals We compare the required bandwidth according to the request arrival interval which is one of the important elements of the performance of the enhanced cluster-based CoAP. In this experiment, Tw was fixed to 1 second, Ns to 50, Te to 30 seconds, and Ti was changed.

Figure 9 shows the bandwidth usage according to the mean of interval between requests for a topic. The result shows that the shorter the interval of the request message, the better the proposed scheme is. As the interval decreases, the number of topics that can be included in a message increases, and the number of request messages sent from the server to the cluster head decreases. Also, as the number of request messages increases before the cache memory data expires, the cluster head does not need to send a request message to the sensor. This is why the bandwidth usage is reduced.

Fig. 9. Bandwidth according to the interval (Ti)

655

Page 7: Enhanced Cluster-based CoAP in Internet-of-Things Networks - … · 2018-01-29 · IoT devices can be connected to Internet, and also can be controlled remotely. Recently, the expectation

However, as the interval increases, the probability of cache memory being expired increases, and the frequency of using multi-uri-path options is reduced, reducing the difference in bandwidth usage between the existing scheme and the proposed scheme.

D. Number of Requests We compare the number of requests received by a sensor so as to see the load to sensors. In this experiment, Tw was fixed to 1 second, Ns to 50, Te to 30 seconds, and Ti to 30 seconds.

Fig. 10 illustrates the comparison of the three candidate schemes. In this figure, the cluster-based CoAP has slightly lower value than CoAP. It is because that there may be duplicate requests for the same topic in a message transferred to the cluster head. It means that the performance of the cluster-based CoAP will be high when the number of requests is bigger. And the enhanced cluster-based CoAP shows best performance due to the cache memory.

Fig. 10. The number of requests transferred to a sensor

V. CONCLUSION In this paper, we proposed an enhanced cluster-based CoAP. In the proposed scheme, differently from the existing cluster-based CoAP scheme, the cluster head has a cache memory for efficient gathering of sensing data. The cache memory is used to store data during an expiration time set in the form of a cache table. When the request message arrives before it expires,

it sends data of the cache table without requesting data to the sensor.

We have implemented a simple testbed for the performance analysis. From the performance analysis, it is shown that the proposed enhanced cluster-based CoAP scheme can effectively perform the gathering sensing data in the IoT networks, compared to the CoAP and existing cluster-based CoAP schemes. In addition, we can see that the proposed scheme gives less load to a sensor among the three candidate schemes.

ACKNOWLEDGMENT This study was supported by the BK21 Plus project (SW

Human Resource Development Program for Supporting Smart Life) funded by the Ministry of Education, School of Computer Science and Engineering, Kyungpook National University, Korea (21A20131600005), and by the National Program for Excellence in SW (2015-0-00912) supervised by the IITP (Institute for Information & communications Technology Promotion), and also by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education(NRF-2017R1D1A3B03032156).

REFERENCES [1] Jayavardhana Gubbi, Rajkumar Buyya, Slaven Marusic, and Marimuthu

Palaniswami, “Internet of Things (IoT): A vision, architectural elements, and future directions,” Future Generation Computer Systems., vol. 29, pp. 1645-1660, Sept. 2013

[2] Lu Tan, and Neng Wang, “Future internet: The Internet of Things,” 2010 3rd International Conference on Advanced Computer Theory and Engineering (ICACTE), Aug. 2010

[3] IETF RFC 7252, The Constrained Application Protocol (CoAP), June, 2014

[4] IETF RFC 7390, Group Communication for the Constrained Application Protocol (CoAP), Oct, 2014

[5] Dong-Kyu Choi, Joong-Hwa Jung, Hyung-Woo Kang, and Seok-Joo Koh, “Cluster-based CoAP for message queueing in Internet-of-Things networks,” 2017 19th International Conference on Advanced Communication Technology (ICACT), Mar, 2017

[6] IETF RFC 7641, Observing Resources in the Constrained Application Protocol (CoAP), Sept, 2015

[7] D. Sacramento, G. Schutz, and N. Correia, “Aggregation and Scheduling in CoAP/Observe Based Wireless Sensor Networks,” 2015 IEEE International Conference on Communications (ICC), Sept, 2015

[8] Noelia Correia, David Sacramento, and Gabriela Schutz, “Dynamic Aggregation and Scheduling in CoAP/Observe based Wireless Sensor Networks,” IEEE Internet of Things Journal., vol. 3, Issue 6, pp. 923-936, Jan, 2016

656