Abstract

This paper proposes a novel energy-conserving multihop routing protocol to maximize network lifetime and consume the battery in a distributed manner during route discovery in energy-constrained Bluetooth Low Energy ad hoc networks. Furthermore, a flooding avoidance approach is adopted by the proposed scheme to minimize the number of route request packets flooded. In addition, the proposed scheme maximizes network lifetime by using residual battery and RSSI as a route metric. The simulation results confirm that our proposed scheme has a surpassing performance with regard to network lifetime, evenly distributed battery consumption, and route discovery latency compared with the traditional on-demand routing protocol.

1. Introduction

Bluetooth Low Energy (BLE) [1] is a notable wireless communication technology with low-power, low-cost, and low complexity and it is regarded currently by many researchers as the ideal technology for realizing IoT, M2M, and energy-constrained applications [2, 3]. In particular, mobile ad hoc networks (MANET) and wireless sensor networks (WSN) are commonly operated by battery-powered devices in energy-constrained networks. Therefore, low-power and low-cost communication technologies are necessary to connect sensors and mobile nodes. Additionally, multihop communication should be considered to communicate with out-of-the-radio-coverage devices in the massive sensor networks and MANET. Due to its low-power consumption, BLE technology is adequate to implement MANET and WSN.

For instance, sensors and mobile nodes are distributed in ad hoc environment, which has no fixed infrastructure, no information of the entire network topology, and constant transformation of the network topology. Moreover, a device depends on its battery as the power source; thus, the whole network may collapse due to a node’s depleted energy. Therefore, network lifetime depends on each node’s residual battery level. Due to the limitations of ad hoc networks mentioned beforehand, energy-conserving scheme is a very important issue [4].

A few scenarios using BLE technology can be considered. Firstly, BLE technology can be applicable in the environment monitoring systems transmitting changes of the physical world periodically. Secondly, a disaster area without network facilities can use BLE technology to deliver short messages using BLE embedded gadgets such as wide-spread smartphones and tablets. In such ad hoc environment, multihop communication is necessary to deliver short messages to a long distance.

However, Bluetooth 4.0 only supports single role and one hop communication, which is called a piconet. The single-hop communication nature of BLE restricts multihop communication and was not solved until the release of Bluetooth version 4.0. The latest attributes of Bluetooth 4.1 specification permit BLE devices to have binary roles and participate in multiple piconets. Thus, corresponding and conveying data to a BLE device beyond single-hop distance has become possible for BLE devices [5]. Although the multihop routing is supported from BLE version 4.1, the BLE specification does not include a specific algorithm for the aforementioned purpose.

A routing protocol is a requisite to transfer data from a source to a multihop distance destination to support multihop communication among devices. Proactive (table-driven) and reactive (on-demand) approaches are the two categories of routing protocols of MANET [5]. In the former method, each node retains a whole routing information of the network so the routing discovery latency is very short. However, each node consumes more energy to renew its routing table at any time in which the topology of the network is modified.

Contrarily, MANET extensively adopts reactive routing protocols to minimize power usage by establishing connections in on-demand manner. On account of on-demand route discovery features, a route path is constructed once the node generates a route request. Thus, on-demand approach is an appropriate multihop communication protocol under the power-restricted environment of BLE networks. Ad hoc On-demand Distance Vector (AODV) protocol [6] is another ad hoc routing protocol, which is well known for its simplicity and efficiency in MANET [7]. However, the traditional AODV has a flooding issue. A source floods route request messages (RREQ) to the entire networks to discover a path to a destination. Consequent to the flooding mechanism, AODV degrades the performance in the energy-constrained networks [8]. In addition, Temporally Ordered Routing Algorithm (TORA) [9] is a source initiated on-demand routing protocol in ad hoc networks which uses a broadcasting scheme to find a destination using query (QRY) and update (UPD) packets. If a source node wants to find a destination to transmit data, the source broadcasts a QRY packet to its neighboring nodes and the destination or adjacent nodes broadcast an UPD packet to the upstream nodes. When an intermediate node receives an UPD packet from a downstream node, the intermediate node calculates the height value which is the hop count number to the destination and broadcasts UPD including its height. After the route discovery procedure, TORA organizes a directed acyclic graph (DAG) which is rooted at the destination. Due to the broadcasting approach of the route discovery procedure, TORA also consumes more energy in the energy limited networks.

In this paper, we propose a new energy-conserving routing protocol including multihop communication scheme in the power-restricted BLE networks. We focus on evenly distributed energy consumption among BLE devices and maximize the network lifetime in the energy-constrained networks such as MANET. The proposed protocol utilizes residual battery power and Received Signal Strength Indication (RSSI) as route metrics. In addition, to decrease the volume of route request packets which cause significant power usage, the flooding avoidance approach is adopted.

We organized the remaining parts of this study in this manner. Related works are illustrated in Section 2. Section 3 demonstrates the state transition of BLE node and node discovery procedure. Section 4 illustrates the energy-conserving multihop routing protocol and a route metric proposed. Finally, Section 5 evaluates the proposed routing protocol and depicts the outcomes of simulation and the conclusion is shown in Section 6.

We introduce a short illustration of the existing energy-conserving mechanisms in ad hoc networks. Further, we reviewed multihop routing protocol in Bluetooth networks [7, 1015], since fewer studies have been performed on BLE networks [5].

Toh [16] proposed a routing protocol utilizing battery capacity as a route metric to satisfy two critical challenges in wireless ad hoc networks, namely, maximizing lifetime and evenly distributed power consumption. The study proposed Conditional Max-Min Battery Capacity Routing (CMMBCR) to select the energy efficient route path with the aid of a threshold value. The scheme selects the shortest path excluding any nodes that operate under the defined battery capacity to extend the network lifetime and operation time. The study mentioned that power-aware routing protocols are inclined to have longer route paths that reduce the lifetime of nodes.

A route metric that occupies a combination of Minimum Drain Rate (MDR) and the remaining battery level was proposed to estimate the lifespan of individual node regarding recent traffic loads [17]. The proposed metric decides which nodes can participate in a route. Moreover, the study introduced Conditional Minimum Drain Rate (CMDR) to reduce the whole energy consumption during transmission. CMDR selects a path which is longer than a defined threshold among all the possible paths. However, if nodes which belong to all the possible paths do not satisfy the threshold, the proposed scheme follows MDR mechanism.

Zhang and Riley [18] proposed an energy-aware on-demand routing protocol in Bluetooth sensor networks. When data is required to be sent to a sink node, a source discovers its neighboring nodes. When a source sends a route request message to a relay node, it selects a node with the highest remaining current level. A route request message is delivered to an intermediate node; it stores the information of the source and the previous node in its neighbor list for route reply messages and flooding loop prevention. Forwarding or discarding decision is dependent on the surplus power of a node along the route path to extend the network lifetime.

A power-efficient reactive routing protocol was introduced in ad hoc networks [19]. The research used average energy consumption and link error rate as route metrics to find an energy efficient route path. In addition, total energy for data transmission and packet error rate were calculated for a reliable route path. The performance was evaluated in terms of throughput and average energy costs using three different mobility models. In the performance evaluation, a few routing schemes such as shortest-delay, power-aware, and retransmission energy were adopted.

A routing protocol based on transmission power was proposed for mobile ad hoc networks [20]. The proposed scheme uses a RSSI and residual battery level as a route metric to find an energy efficient route path. To discover the nearest neighboring node, a node broadcasts route request messages and it calculates RSSI and distance using replied messages from the neighboring nodes. A node selects the next hop which has a higher RSSI and adjusts its transmission power to save its energy consumption.

A reactive routing protocol supporting multihop communication with scatternet formation was proposed in BLE wireless sensor networks [5]. For neighbor discovery procedure, each node alternates its role as an advertiser and scanner. To find a route path of a destination, a source delivers a route request message to its master in its piconet. If a destination is not found in a piconet, the master sends the message to a relay node in another piconet. After a destination receives multiple route request messages, it sends route reply messages to all possible paths. Finally, a source selects the shortest path from the route response messages.

An enhanced routing protocol based on the traditional AODV was introduced to improve the flooding issue during route request procedure in Bluetooth ad hoc networks. Three metrics, namely, hop count, battery capacity, and average traffic loads, are adopted to handle multiple route request packets. A route request packet contains three metrics to find the lowest cost path. The route metrics are updated with the node’s values as a route request packet, which includes three metrics, arrived at an intermediate node. When multiple route request messages are arrived at a destination, the proposed route selection algorithm chooses the lowest cost path. Moreover, route request packets are only delivered to bridge nodes to minimize the number of route request packets. However, the proposed routing protocol does not present the configuration of bridge nodes and network topology.

An on-demand multihop routing protocol using scatternet structure was introduced in Bluetooth networks [21]. A route path is established whenever data transmission is required and only contains the nodes along the route path. When communication starts, a route path is set up dynamically and released after the transmission. A node can have a single role and double roles for the scatternet route structure. To connect piconets in critical areas, double role nodes are allowed in this research.

3. Node Discovery Procedure

In this section, we describe the state changes and neighbor discovery of BLE nodes in the discovery procedure. BLE nodes are presumed to be distributed randomly in a substantial indoor structure.

3.1. State Transition of BLE Node

When BLE devices turn on, they enter “Idle” state to save their battery consumption. Each BLE device discovers neighbor nodes within a defined time using the discovery timer. If the timer expires or the neighbor list is unchanged, BLE devices return to “Idle” state. If a BLE device detects some changes of incoming or outgoing devices within the radio range, it updates the neighbor list to include the detected information. After updating the neighbor list, a BLE device goes back to “Idle” state. When a device wants to transmit data to a destination, it moves to “route request” state and sends data in “data transmission” state. After transmitting data, a BLE device returns to “Idle” state. Figure 1 illustrates the state transition of a BLE device in the proposed scheme.

3.2. Node Discovery Procedure Using Random Role Switching

Node discovery procedure is collecting adjoining nodes’ ID and their residual battery levels by reciprocating advertisement messages. A BLE node updates a neighboring node’s residual battery level in its neighbor list after receiving an advertisement message from a nearby node. The residual battery level is used as a route metric with RSSI to establish the minimum battery consumption route.

Random operation function in Figure 2 determines each BLE node’s role. Then, a node changes its role at random after the operation time within the expected discovery time. To fulfill the maximum advertisement interval of BLE specification, the operation time is settled at 30 ms. The nodes which operate as advertisers broadcast advertising messages through the advertisement channels (37, 38, and 39) during the operation time including its own id and battery level. Similarly, scanners wait to receive advertising messages from neighboring nodes that are sent via the advertising channels during the operation time. This process continues through the discovery time as shown in Figure 2.

When a BLE node obtains advertisement packets from nearby nodes, it calculates weight of the advertising nodes with the residual battery level and RSSI. Sequentially, it updates the neighbor list entry for the corresponding advertising node. The proposed routing protocol utilizes two parameters as a route metric and chooses the maximum residual battery route using the weight value. The neighbor list has four fields, that is, device id, weight, residual battery, and RSSI as described in Table 1. After the node discovery procedure, each node completes configuring its neighbor list.

4. Energy-Conserving Multihop Routing Protocol

We introduce the energy-conserving on-demand multihop routing protocol in BLE ad hoc networks and how to calculate the route metric using residual battery and RSSI. The proposed scheme chooses the minimum weight node to discover a route from a source to a destination. A route request packet is broadcasted using ADV_IND message and data channel PDU is used for transmitting a route reply packet. The two packet formats for the route discovery procedure are illustrated in Figure 3.

4.1. Route Metrics: Maximum Power Plus RSSI (MPPR)

The route metric of this paper includes two metrics, that is, Maximum Power Plus RSSI (MPPR). If a source transmits data to a destination, a source finds a neighbor node with the minimum weight value in its neighbor list. Then, the source sends a route request message to the node having the minimum weight. The route metric is computed by using

is the current residual battery of node and is the maximum battery level of a coin cell battery. is a RSSI value of node and is the minimum RSSI value. We used 230 mA and −100 dBm, respectively, for and . The route metric is already calculated by exchanging advertisement messages during the node discovery procedure. If a node’s residual battery () is close to and RSSI value () is large (close to 0), the weight of (1) reaches zero. Hence, if a node with the maximum residual battery (230 mA) and the larger RSSI value is subjected to be chosen during the route discovery procedure, a node searches its neighbor list and transmits the route request message to a nearby node having the minimum weight (). The MPPR routing scheme uses Prim’s algorithm for forwarding route request packets. In addition, the proposed scheme utilizes a priority parameter () to compare the performance when changes from 0 to 1.

4.2. Flooding Avoidance Route Discovery Scheme

The flooding RREQ packets consume substantial power of BLE nodes during route discovery procedure so this paper proposes the flooding prevention mechanism to minimize energy consumption. The proposed mechanism discards RREQ packets in the intermediate nodes using the minimum weight node address as illustrated in Figure 4. Whenever a source tries to discover a routing path to a specific destination, the source identifies the minimum weighted node in its neighbor list. Then, the source broadcasts a route request message including the address of the minimum weight node as shown in Figure 3. When a route request message is delivered to an intermediate node, the intermediate node checks the minimum weight node address. If the minimum weight node address of a RREQ packet is identical to the node receiving a RREQ message, then the node forwards the route request message.

For example, when node 6 forwards a RREQ message, node 6 looks up its neighbor list table and finds that node 7 has the minimum weight value. Then, node 6 sets the minimum weight node address as node 7’s address in a RREQ message (Min. node = 7) and broadcasts a RREQ message. When neighboring nodes (nodes 3, 4, 5, and 8) of node 6 receive the RREQ message, they discard the route request message because their addresses are not equal to the minimum weight node address in the route request message. In addition, the proposed scheme uses the sequence number to avoid a route path loop like AODV protocol. When a node receives a RREQ message with the same sequence number which it already forwarded, the node discards the RREQ message to prevent the route loop.

The procedure of flooding avoidance mechanism in an intermediate node is described in Figure 5. An intermediate node discards the route request message if the minimum weight node address of the packet is not identical to its address.

In this route discovery scheme, a source chooses a neighbor with the maximum residual power and the strongest RSSI value for the route request procedure. Whenever an intermediate node’s battery level is lower than the neighboring nodes, the intermediate node is eliminated from the route path. This scheme can distribute energy consumption among BLE nodes.

4.3. Route Discovery Procedure

Aligning with the Bluetooth 4.1 specification, we considered route request and reply transmission time and delays for the proposed system. A RREQ message is simply broadcasted through advertisement channels. A route reply message (RREP) is delivered after establishing unicast connections along the route path. Thus, the route reply procedure is more complicated than the route request procedure as illustrated in Figure 6.

In this paper, we assumed that a RREQ message can be received within the advertisement period (). Upon receiving a RREQ message, the node changes its role from a scanner to an advertiser and broadcasts it to the neighbors. Hence, we assumed that the role switch time () is one clock period. Moreover, we presumed that a unicast connection is established by exchanging ADV_DIRECT_IND and CONNECT_REQ messages during three advertisement periods (). After the connection setup, the mandatory delay () was considered in accordance with the Bluetooth specification. The RREP transmission time () is the RREQ packet size over BLE data rate (1 Mbps). Table 2 shows the description and time of route discovery latency.

4.4. Energy Consumption

The measurements of a CC2541 BLE chip of Texas Instruments [22] are referred to as the power usage model of this paper. In reference to these measurements, we determined the present current consumption and time of each phase in the course of route discovery process.

In the proposed routing protocol, RREQ messages are broadcasted during BLE advertisement period. Contrastingly, RREP messages are delivered via unicast connections during the route reply procedure. Accordingly, the route reply procedure exchanges more control message and consumes additional energy. Figure 7 illustrates the current level and time of each phase, respectively, and shows extra energy consumption of route reply procedure.

Table 3 describes the time and current consumption for each phase in an intermediate node during route discovery procedure as depicted in Figure 7.

5. Performance Evaluation

In this section, we describe the simulation environments and the performance evaluation of the energy-conserving routing protocol by modifying the priority parameter () in (1). We evaluated network lifetime, average residual battery, energy consumption, average number of route requests, and the latency of route discovery procedure. The proposed scheme adopted on-demand routing protocol to reduce network connectivity and maximize network lifetime. In this section, we compare the performance with other on-demand ad hoc routing protocols such as AODV and TORA. However, we excluded Dynamic Source Routing (DSR) protocol because DSR includes the addresses of intermediate nodes to transmit data. If a routing path has more than four hops, DSR over BLE cannot contain all nodes’ address in its data packet because BLE payload is only 27 bytes long.

5.1. Simulation Environments

In the proposed scheme, all BLE devices are presumed to be spread randomly within 100 × 100 meters and the radio coverage is 20 meters. The BLE nodes increased in the increments of 10 from 50 to 100 and the weight values for the route discovery were calculated by changing alpha values (0.3, 0.5, 0.7, and 1.0) in (1). The route discovery was performed every second after choosing a source and a destination randomly using Poisson process. Thus, the route discovery is assumed to occur frequently.

We adopted WINNER-II path loss model [23] for RSSI calculation between two nodes and the RSSI value was used to compute the node’s weight mentioned in Section 4. For each BLE node, we collected 300 records of data. For the performance evaluation, a simulator using Python and NetworkX [24] was implemented to gauge the operation of the proposed scheme, AODV, and TORA protocol. The route paths and network topology are illustrated in Figure 8.

In this simulation, we adopted B3 scenario of WINNER-II path loss model to calculate the RSSI value between two nodes within the radio coverage. The scenario is suitable for large indoor structures such as airport, factories, and stations sized from 20 × 20 m to 100 × 100 m. Equation (2) shows the calculation of path loss in WINNER-II model and parameters are fixed in accordance with the scenario selected. The path loss exponent is A, while B acts as the intercept, C is the frequency dependent parameter, d is a distance, fc is the system frequency of BLE, and is an optional parameter. These parameters are set to , , , , and in the B3 Line of Sight (LOS) scenario. Further, the transmission power of each BLE device was fixed at 4 dBm in the simulation. As the path loss model has a correlation with the distance between two nodes, RSSI values can be applied to the proposed scheme. Thus, the proposed routing scheme considered the distance as well as the residual power.

Table 4 shows the energy consumption of each phase along the route path. At the time of the route request process, a neighboring node of the route path exhausts energy. This is because the neighbor nodes do not forward route request messages when the minimum weight node address in a route request message is not equivalent to its address.

5.2. Network Lifetime

The period when the first node is depleted of its energy is defined as the network lifetime. We have simulated the network lifetime by applying different priorities between residual battery and RSSI by changing    in (1). A source and a destination are chosen randomly and route request is generated by Poisson process. After successful route discovery, a 20-byte data packet was delivered. When it comes to the energy consumption in each node, whenever a RREQ or RREP message is acquired by a node during route discovery procedure, node’s battery level is decreased by the calculated level as shown in Table 4. If a node’s battery capacity becomes zero in the network, this simulation stops and calculates the lifetime.

The proposed scheme has the longest network lifetime when is 1 as illustrated in Figure 9. When route decision is made only by the residual battery during route discovery procedure, the performance is at its best. In addition, the result of the proposed scheme shows that the lifetime is improved as the number of BLE devices increases regardless of the value of . The increment of lifetime explains that the proposed scheme consumes the energy of BLE devices evenly.

However, AODV and TORA protocols show the gradual decline of the network lifetime when the number of BLE devices is increasing. The network lifetime is reduced in AODV protocol when the number of BLE devices grows, due to its RREQ broadcasting mechanism in AODV. Moreover, route request messages are concentrated on specific BLE devices and their energies are depleted rapidly in AODV protocol. In TORA’s case, the network life time is the lowest among other protocols because it adopts the broadcasting scheme during the route request and route reply procedure using QTY and UPD packets, respectively. Therefore, TORA consumes more energy during the route discovery procedure than the proposed scheme and AODV.

5.3. Average Residual Battery

Average residual battery is measured when the network lifetime simulation is done. We have calculated the average residual battery level of all nodes. As described in Figure 10, the residual battery of the proposed scheme (α = 1.0) has the minimum battery level at approximately 20%. The residual battery of AODV and TORA protocols is bigger even though their network lifetime is much shorter than the proposed scheme as shown in Figure 9.

On the contrary, the proposed scheme has a longer lifetime with a remaining battery around 18%. The simulation result demonstrates that the proposed scheme has consumed energy in a distributed way compared with AODV and TORA protocols.

5.4. Power Consumption for Route Discovery

During the route discovery process, power consumption () is computed using (3). Energy consumption for each phase is mentioned in Section 4.4. A source node consumes energy () to broadcast a RREQ packet using BLE advertisement channels. The energy consumption of neighboring nodes () occurs when they receive RREQ messages from their neighbors. The neighboring nodes do not broadcast RREQ messages unless they have the minimum weight value among the neighbors. Intermediate nodes along the route path consume more energy () to broadcast RREQ messages and receive RREP messages. The energy consumption of a destination node () takes place when it receives a RREQ message and responds with a RREP message via a unicast connection.

Figure 11 clearly presents that TORA protocols consume the highest energy compared to the proposed scheme and AODV due to the QRY and UPD flooding mechanism. AODV only broadcasts RREQ messages during the route request procedure but TORA adopts the broadcast mechanism for the route request and reply procedure. Therefore, when the number of nodes increases, TORA consumes more energy during the route discovery procedure. Contrastingly, the proposed scheme shows that its energy consumption decreases when the value α is changed from 0.3 to 1.

5.5. Average Number of Route Request Messages

The average number of RREQ messages () is determined during the network lifetime simulation. A flooding approach of AODV and TORA is used to disseminate route request messages over the advertisement interval. For instance, the average route requests number is when numbers of BLE nodes are distributed and connected in AODV and TORA. Contrarily, route request messages are transmitted to nearby nodes and only a node with the minimum weight among neighboring nodes forwards a RREQ message to find a route path in the proposed scheme. Equation (4) describes the way of calculating RREQ numbers of a route path. Hence, AODV and TORA protocols have greater values than the proposed scheme in the average number of RREQ messages and show similar result because of the broadcasting approach for their route request procedure. The steady progress of route request messages with regard to the surge of BLE devices of the proposed routing protocol is described in Figure 12.

5.6. Route Discovery Latency

The elapsed time between delivering RREQ and receiving RREP at a source is defined as route discovery latency. The latency was calculated using (5) for the proposed scheme, AODV, and TORA protocol. We assumed that a RREQ message is delivered during the advertisement period ( ms) and the role switch time () is 1.25 ms. The number of RREQ messages and the route path length are represented as and , respectively. TORA broadcasts UPD packets for the route reply procedure so we consider the delivery time of UPD packets as described in (5). We also assumed that an UPD packet of TORA is delivered during the advertisement period because a route is not established unlike the proposed scheme. Other parameters were already mentioned in Table 2.

As shown in Figure 13, the results clearly show the steady increase of the proposed scheme, while AODV and TORA protocols follow an exponential growth as the number of BLE nodes increases. In particular, TORA shows a higher exponential growth because of the broadcast scheme during the route request and reply procedure. This exponential growth in the latency resulted from the increasing amount of RREQ and UPD messages.

5.7. Average Throughput

The average throughput is calculated by the ratio of the data packet size delivered over the route discovery latency plus packet delivery time during the network lifetime as depicted in (6). The total number of transmitted data is represented as during the network lifetime of each protocol.

The average throughput decreases as the number of BLE device increases due to the augmented route discovery latency in the proposed scheme, AODV, and TORA. Specifically, the lowest throughput of TORA is caused by the increased route discovery time. The average throughput of AODV is also affected by the broadcast approach of route request message. The proposed scheme shows that the average throughputs have no big differences related to α value as described in Figure 14.

6. Conclusions

We proposed an energy-conserving multihop routing protocol based on maximum power and RSSI in BLE ad hoc networks. This study is designed to avoid the flooding mechanism that causes substantial energy consumption. Similarly, the proposed scheme focused on magnifying network lifespan under power-constrained ad hoc networks by using the residual battery level and RSSI as a route metric. In addition, the energy-conserving routing protocol minimizes the number of route request messages which are solely forwarded by the minimum weighted node. Therefore, the outcome of the minimized number of route request messages causes less power exhaustion and shorter route discovery latency compared with the typical ad hoc routing protocol.

The performance evaluation revealed that our suggested energy-conserving protocol improves performances with regard to network lifetime, average residual battery, power usage, route discovery latency, and the volume of route request messages under power-restricted BLE ad hoc networks. Furthermore, the battery consumption of the proposed scheme is evenly distributed during route discovery procedure and it results in less residual battery level after a longer network lifetime.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

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), by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (2016R1D1A1B03933566), and by Institute for Information & Communications Technology Promotion (IITP) grant funded by the Korea government (MSIP) (no. 2017-0-00770).