Energy-aware data compression and transmission range control for energy-harvesting wireless sensor networks

Energy-harvesting nodes are now being employed in wireless sensor networks to extend the lifetime of the network by harvesting energy from the surrounding environments. However, unpremeditated energy consumption can incur energy problems, such as the blackout of nodes (due to their exceeding energy consumption over the amount of harvested energy) or inevitable disposal of harvested energy (in excess of the battery capacity). In this article, we propose an adaptive data compression and transmission range extension scheme that minimizes the blackout of sensor nodes and increases the amount of data collected at the sink node using the harvested energy efficiently. In this scheme, each node estimates the amount of harvested and consumed energy. When it determines that its remaining energy will exceed its storage capacity, it exploits the energy to compress the data or increase the transmission range. At this point, of the two methods, the method that can more effectively increase the network performance can be selected. The results of experiments conducted indicate that the proposed scheme significantly reduces the extent of node blackouts and increases the data collection rate of the sink node.


Introduction
Wireless sensor networks (WSNs) are used to obtain various types of data for monitoring environments and conditions in (1) hard-to-reach areas such as disaster areas, military zones, and underwater areas, (2) wide areas such as forests, farmland, and seas, and (3) structures such as buildings and bridges. Sensor nodes that are typically applied in these WSNs use limited-capacity batteries as energy sources. Consequently, these sensor nodes have a finite lifetime and encounter maintenance-related issues such as the battery needing to be replaced or blackout nodes needing to be recharged. To overcome such issues, studies on minimizing the energy consumption of sensor nodes in battery-based WSNs have been carried out. 1,2 been changed. Whereas traditional battery-based WSNs focus on minimizing the energy consumption of nodes to maintain the network for a long time, energyharvesting WSNs focus on the efficient use of harvested energy to meet the quality-of-service (QoS) requirements of each WSN applications. [4][5][6][7] For example, if a WSN application requires real-time data, the harvested energy should be mainly used to reduce data latency. 8 If such an application needs to manage important data, the harvested energy should be used to increase data reliability. 9 General WSNs have the hot-spot problem, 10,11 which is that the nearer nodes to the sink node consume more energy. Several schemes have been studied to overcome the problem such as data compression 12,13 or detouring around the hot spot. 14,15 Such solutions consume additional energy to compress data or extend transmission range. In energy-harvesting WSNs, however, they can be applied effectively using the surplus harvested energy.
In this study, the surplus harvested energy is used to maximize the amount of data obtained by the sink node by reducing the energy consumption of the nodes near the sink node. To this end, the following two methods are utilized.
1. Data compression method. In this method, the surplus harvested energy is used to compress data. Typically, sensor nodes consume the greatest amount of energy for data transmission. Therefore, data compression which reduces the volume of data can decrease the amount of energy consumption significantly. It also leads to a decrease in the energy consumption of the overall network because the data compression of a node affects the reduction in transmission energy of all relay nodes to the sink due to the multi-hop way of data transmission in WSNs. However, it should be noted that compression itself requires some amount of energy. 2. Transmission range control method. In this method, the surplus harvested energy is used to increase the transmission range and induce a decrease in the number of data transmission hops. As a result, it can reduce the total amount of energy consumed by intermediate nodes.
This method is particularly useful in preventing load concentration on the nodes near the sink node. Generally, the nodes near the sink node have to transmit a greater amount of data than other nodes, thus increasing the probability of blackout. As a state of blackout leads to the consecutive blackout of neighbor nodes, as well as a rapid decrease in the data collection rate, load concentration on these nodes should be prevented. 16,17 By increasing the transmission range, in this method, data tend to be directly transmitted to the sink node instead of passing through intermediate nodes. However, it also should be considered that it consumes some extent of energy to expand the transmission range.
Note that the use of harvested energy in each node should be prioritized for their basic operations (such as data sensing, processing, and transmission), and only surplus energy should be used to fulfill the QoS requirements of WSN applications. Therefore, the proposed scheme first calculates the residual energy by estimating the amount of energy harvested and consumed in a node during a certain period. Then, it uses the expected surplus energy to maximize the network performance, for example, amount of data obtained at the sink node. To this end, the data compression method or transmission range extension method are utilized. To facilitate more efficient energy usage, the method that is more useful in the network performance can be selected, or both methods can be applied when residual energy is quite a lot.
The remainder of this article is organized as follows. Section ''Related work'' discusses the existing studies conducted with the objective of solving the energyrelated problems of WSNs. Section ''Energy-adaptive data compression and transmission range adjustment scheme'' introduces the energy-adaptive data compression and transmission range extension scheme proposed in this study. Section ''Performance evaluation'' compares the performance of the proposed scheme with that of other existing schemes. Section ''Conclusion'' presents the conclusions of this study.

Related work
In a WSN, several small sensor nodes are placed over a wide area. As the sensor nodes are cheap and small, they have many limitations on hardware such as the processor, memory, and battery. Consequently, studies geared toward developing methods of effectively using the limited energy (such as energy-harvesting, data compression, and transmission range adjustment) are being actively carried out. 3

Data compression in a WSN
Sensor nodes typically consume the greatest amount of energy for data transmission. The amount of energy consumed for data transmission varies according to the volume of data and the transmission range. It can be reduced by decreasing the volume of data. Particular, in a WSN, data are transmitted in a manner of multihop, the reduction in data volume decreases the workload of the relay nodes and increases the lifetime of the overall network. 18 Sadler and Martonosi 19 proposed the Sensor Lampel-Ziv-Welch (S-LZW) algorithm, derived by lightening the LZW algorithm, a lossless compression algorithm designed by Welch, 20 for sensor nodes. They also proposed another compression algorithm called S-LZW with Burrows-Wheeler Transform (S-LZW-BWT) that conducts invertible BWT 21 before compression by S-LZW. Yoon et al. 22 proposed an energyaware data compression scheme that adjusts the data collection frequency and selects either the S-LZW or S-LZW-BWT compression algorithm according to the energy level of the energy-harvesting node in order to increase the accuracy of the sensed data.
Petrovic et al. 23 proposed a data-funneling scheme that compresses the setup and control packets used for routing to reduce the transmission energy consumption. In this scheme, data are compressed using the coding by ordering scheme, which is a lossless compression method. Arici et al. 24 proposed PINCO, an in-network compression scheme that reduces redundancy in the data collected from sensors, thereby decreasing the wireless communication among the sensor nodes and saving energy. In this scheme, compressed data can be recompressed without decompressing, thereby eliminating data decompression and recompression overhead.
The scheme proposed in this article reduces the workload of the relay nodes by transferring the data compressed by S-LZW. 19 Figure 1 shows the flow chart of S-LZW compression scheme. However, in contrast to the methods applied in previous studies, data compression is conducted only using surplus energy harvested from their environments. Thus, nodes are not adversely affected.

Transmission range adjustment in a WSN
Transmission range is a dominant property in determining the amount of energy consumed for data transmission in a WSN. When the transmission range of sensor nodes is adjusted, the energy consumption for transmission and the number of hops vary according to the distance, thus affecting the network lifetime.
Noh 25 proposed a transmission range determination scheme for the solar-powered WSN to increase the routing efficiency. Jeong et al. 26 proposed a scheme that establishes an appropriate wireless transmission range for communication environments using the received signal strength indication (RSSI) values selected through a Hou and Li 27 confirmed that network performance is enhanced when transmission range is appropriately adjusted, by comparing the most forward progress (MFP) and the nearest forward progress (NFP) schemes in which the transmission range is fixed, with the MFP with variable radius (MVR) scheme in which the transmission range can be adjusted. Lin et al. 28 proposed adaptive transmission power control (ATPC), which controls transmission power according to the changes in external environments, to solve the existing problem of inefficient wireless communication using fixed transmission range.
Our proposed scheme extends the transmission range of operating nodes when surplus energy is generated to decrease the number of relay hops. As a result, it reduces the amount of energy consumed in relay nodes. Although nodes can collide with each other during transmission due to the extended transmission range, this collision problem can be solved by applying time division multiple access (TDMA), which facilitates mutual communication without signal overlapping by dividing the same frequency band according to time. 29 For this reason, collision in the link stage is not reflected in the proposed scheme.

Energy-harvesting WSN
Energy-harvesting nodes solve the problem of limited energy by harvesting various types of eco-friendly energy near them, storing it in a rechargeable battery, and supplying the energy to a system. The amount of available energy varies according to the characteristics of the energy source and the energy storage employed. Accordingly, schemes that maximize utilization of the harvested energy with an efficient energy-schedule have been proposed and investigated in energy-harvesting WSNs.
Sudevalayam and Kulkarni 3 and Encarnacion and Yang 30 studied the characteristics of several ecofriendly energy sources, methods of harvesting them, and their energy conversion efficiency. Among the energy sources, solar energy was found to have a particularly higher power density (approximately 15 mW/cm 2 ) than other energy sources, 31 thus making it the most desirable energy source. Generally, the solar-powered nodes can satisfy the power requirements of typical sensor nodes (1-10 mW) except some applications requiring extremely high performance.
Kansal et al. 32 proposed an energy model for energyharvesting nodes and a model that determines the energy boundary, which facilitates energy-harvesting nodes with infinite lifetimes. Shaikh and Zeadally 33 investigated a system that can effectively use the harvested energy based on the energy estimation models.
In our proposed scheme, the system design assumes that the solar-powered node satisfies the energy requirements of typical sensor nodes, which was verified in the studies described above.
Energy-adaptive data compression and transmission range adjustment scheme In our proposed scheme, a node estimates the amount of energy harvested and consumed, and these estimated values are used to expect its residual energy, which will be utilized to increase the amount of data obtained by the sink node when it exists. To this end, a scheme that applies data compression, transmission range extension, or both methods is proposed. The proposed scheme is not applicable for real-time applications, but for delay tolerant networks (DTNs), 34 in which each node periodically senses data, conducts data processing such as compression, and transfers the data. And data compression is performed using the S-LZW 19 compression scheme.
Each node operates in basic mode, selective mode, or hybrid mode according to the energy estimated for the subsequent period. In basic mode, nodes perform only basic operations (sensing, processing, and transmission). In selective mode, either data compression or transmission range extension is selectively performed. Additional energy is consumed to compress the data when the data compression method is applied. However, the energy consumed by relay nodes for data transmission can be reduced by decreasing the volume of data transmitted. As the length of the data transmission path increases, the amount of energy consumed decreases due to the higher number of nodes through which the data have to pass. In the transmission range adjustment method, more energy is consumed to extend the transmission range. However, as the number of hops in the transmission path decreases, load concentration of nodes near the sink node is effectively prevented, and the problem of energy imbalance between nodes is solved. In other words, when the transmission range is extended, data tend to be directly transferred to the sink node instead of being transmitted through the nodes near the sink node. When surplus energy is sufficient, the hybrid mode, in which both methods are utilized simultaneously, can be applied to maximize the effects. Figure 2 gives an overview of the proposed scheme.

Energy model for energy-harvesting nodes
Energy-harvesting nodes estimate the residual energy of their rechargeable batteries by simultaneously considering the amount of energy harvested and consumed, in contrast to the energy models for battery-based nodes. In this article, the energy model proposed by Yang et al. 35 is used to estimate the amount of residual energy.
When the current time is t, the estimated residual where E residual i ðtÞ is the amount of residual energy of node i at time t, and E consume i ðt; p tx Þ and E harvest i ðt; p tx Þ are the amounts of energy consumed and harvested by node i from time t during period p tx , respectively. E residual i ðtÞ is a measurable value in the node, and E harvest i ðt; p tx Þ can be estimated using existing schemes 36,38 to estimate the amount of harvested energy efficiently. We adopted weather-conditioned moving average (WCMA) 38 scheme to estimate harvested energy. WCMA is able to effectively take into account both the current and past days' weather conditions, obtaining a relative mean error of only 10%. When coupled with energy management algorithm, it can achieve gains of more than 90% in energy utilization with respect to exponentially weighted moving average (EWMA). 37 The amount of energy consumed E consume i ðt; p tx Þ can be estimated through equation (2) where E transmission i is the amount of energy consumed for data transmission, and E system i is all the energy consumed with the exception of that consumed for data transmission. E system i includes the energy consumed in a state of reception or waiting; thus, it applies to all nodes similarly. The value of E transmission i can significantly vary according to the amount of data transferred, as shown in equation (3) 39 where S i is the amount of data transferred by node i, b is the amount of energy consumed to transfer a 1-m bit, a is path loss, and d i is the transmission range of node i. S i can be derived by adding the volume S data i of data that node i sensed and S relay i of data transferred from other nodes. In this regard, the amount of energy consumed by node i can be represented, as shown in equation (4) S relay i is estimated based on the weighted moving average of the historical data relayed by node i. The estimated residual energy E 0 residual of a node at a certain point in time can be calculated using equations (1)-(4).

Types of operating modes
Nodes determine their operating modes at the end of each round according to E 0 residual i . In each mode, nodes perform the operations shown in Figure 3. Each operation can be described as follows: 1. Basic mode. This operating mode is selected when the energy of a node is insufficient. In this mode, uncompressed data are transferred in the normal transmission range to reduce the energy consumption of the node. 2. Selective mode. This mode is selected when surplus energy is estimated to be harvested while the node is operating in basic mode during the present round. In this mode, the surplus energy is used to perform data compression or transmission range extension. 3. Hybrid mode. This mode is selected when surplus energy is estimated to be harvested while the node is operating in selective mode during the present round. In this mode, the node applies the data compression and transmission range extension methods at the same time.

Change of operating mode
Each node estimates the amount of E 0 residual i at every data transmission period p tx and selects an appropriate operating mode for the next round.
Node currently operating in basic mode. First, it is assumed that the node operated in basic mode during the previous round and that it is to operate in basic mode during the subsequent round. If E 0 residual i is estimated to exceed the battery capacity E full i during the next round, the storage capacity is deemed insufficient to store the harvested energy. As a result, some energy is inevitably discarded without being used Thus, when equation (5) is satisfied, a transition is made from basic mode to selective mode to prevent the energy harvested being discarded due to the insufficient energy storage capacity.
Node currently operating in selective mode. Meanwhile, it is assumed that the node operated in selective mode during the previous round and that it is to operate in the same mode during the subsequent round. If E 0 residual i at the end of the round is estimated to be lower than the minimum amount of energy E bottom i for node operation, the node can be in a state of blackout during period p tx . Thus, the node transitions to basic mode to save energy That is, when equation (6) is satisfied, it means E 0 residual i is estimated to be lower than the minimum amount of energy E bottom i assuming the node keeps its current (selective) mode during the subsequent round. Therefore, the node transitions from the current selective mode to basic mode. Conversely, if E 0 residual i is estimated to exceed E full i when the node is assumed to operate in current (selective) mode during the subsequent round, the node selects hybrid mode since this node can be assumed to have enough energy. Otherwise, it stays in its current mode.
Node currently operating in hybrid mode. It is assumed that the node operated in hybrid mode during the previous round and that it is to operate in the same mode during the subsequent round. If E 0 residual i at the end of the round is estimated to be lower than the minimum amount E bottom i of energy for node operation, the node can be in a state of blackout during period p tx . To prevent this, the node transitions to selective mode. Algorithm 1 and Figure 4 show the pseudo-codes for node operations adjusted according to the modes, and finite state machine (FSM), respectively.

Method selection in selective mode
A node operating in selective mode, as shown in Figure 4, performs either data compression or transmission range extension. It selects the more efficient method by calculating the efficiency of each method. In the proposed scheme, the estimated value of energy consumed by all relay nodes from a target node to a sink node is used as an index for efficiency. In other words, between two methods, the method that derives the lower estimated value is selected and used.
In this section, a model that estimates the amount of energy consumed by relay nodes when using each method respectively is proposed. If data are transferred to the sink node through the H hop when a node i transfers data, the sum E hop i of energy consumed by relay nodes can be calculated by applying equation (7)  If the data compression method is used, data are compressed with a compression ratio of R compression , and S data i is reduced to S data i ð1 À R compression Þ, and E compression ðS data i Þ is the amount of consumed energy to compress S data i bits of data. Accordingly, the energy consumption E compression hop i of relay nodes using this method can be represented, as shown in equation (8) E compression However, if the number of hops is reduced to H reduced due to the extended transmission range d ex i resulting from application of the transmission range adjustment method, the energy consumption E range hop i of the relay nodes in this method is derived through equation (9) By comparing the energy consumption estimated for relay nodes using the results of equations (8) and (9), a more efficient method for reducing the energy consumption of relay nodes can be found If equation (10) is satisfied, the transmission range adjustment method is more efficient, and thus, the node selects this method. If not, the node selects the data compression method.
In addition, if a certain node is currently isolated from other nodes and can have a neighboring node in the transmission range extended, the node preferentially uses the transmission range extension method for a connectivity when surplus energy exists in the proposed scheme.

Performance evaluation
The SolarCastalia 40 simulator was used to analyze the performance of the scheme proposed in this study. The results obtained were compared with those obtained by other four schemes: Normal, Comp, TR, Adaptive Compression, and Transmission (ACT) schemes. 41 Normal scheme is a naive WSN scheme, which transmits uncompressed packets using normal transmission range. It is the same as basic mode in the proposed scheme. Comp scheme uses S-LZW 19 data compression to reduce the size of all sensed data. Even though it consumes additional energy for compression, it can save transmission energy because it transmits smaller data. TR scheme transmits data with a comparatively extended transmission range than Normal scheme. It can shorten the length of routing paths by consuming more transmission energy. ACT 41 scheme performs data compression or transmission range extension to obtain more data when surplus energy is expected. In this scheme, nodes estimate its remaining energy, and choose more efficient method between data compression and transmission range extension by the estimation result. Specifically, the amount of data obtained by the sink node (which is the most critical performance metric) and other performance metrics closely related to the metric dictated above, including the number of blackout nodes and the degree of residual energy balancing of the nodes, were compared according to the schemes.
Simulations were conducted by randomly placing 100 to 500 nodes in a 120 m 3 120 m field. The transmission range was established as 8-13 m for basic data if E 0 residuali ðt; p tx Þ ! E fulli then 3: UpperMode() 4: else if E 0 residuali ðt; p tx Þ E bottomi then 5: LowerMode() 6: else 7: Do not change current mode 8: end if 9: end function 10: function UpperMode() 11: if current_mode g = Basic_mode then 12: current_mode Selective_mode 13: if transmission and as 14-22 m for extended transmission. Data compression was performed by applying the S-LZW scheme. 19 Each experiment lasted 10 days (1000 rounds), and the mean value derived through 10 or more repeated experiments was used for comparison. The main parameters used in the experiments are given in Table 1. Figure 5 shows the network topology of 300 nodes and examples of operating modes of each node when the proposed scheme is applied.

Number of blackout nodes
The throughput of the network can be estimated based on the blackout state of a node. When many nodes are in a state of blackout, they can neither sense data nor relay the data receiving from their neighboring nodes. For this reason, the number of blackout nodes should be minimized.
The number of blackout nodes generated per round was measured to identify the number of blackout nodes in the proposed scheme, when the number of nodes is 300. The number of blackout nodes generated was compared by increasing the number of nodes by 100 to verify scalability. Figure 6 shows the average number of blackout nodes generated per round. The proposed scheme generated the lowest number of blackout nodes compared to the other schemes. Specifically, it shows 62.2% lower   number of blackout nodes than the TR scheme, 31.4% than the Normal scheme, 17.7% than the Comp scheme, and 7.9% than the ACT scheme. This result is derived because the selective or simultaneous application of the data compression and transmission range adjustment methods reduced the volume of data transferred to the sink node and the length of data transmission path, thus decreasing the workload of the relay nodes the most. The number of blackout nodes in the TR scheme was higher by 81.6% than that in the Normal scheme because the greatest amount of energy was consumed for data transmission and reception owing to the excessive transmission range in the former scheme.
The number of blackout nodes in the Comp scheme is lower by 16.7% than that in the Normal scheme and by 54.1% than that in the TR scheme. This result is obtained because the transmission method based on data compression reduces the volume of data to be transferred in the Comp scheme compared to that in the Normal and TR schemes, thus leading to a decrease in the amount of energy consumed for data transmission.
The number of blackout nodes in the ACT scheme is relatively lower than other schemes. The reason is that the ACT scheme can apply one between compression and transmission range adjustment method adaptively. However, the number of blackout nodes in the proposed scheme is slightly lower than the ACT scheme because the proposed scheme manages the harvested energy more sophisticatedly. Figure 7 shows the cumulative number of blackout nodes generated when 200, 300, 400, and 500 nodes are used in a field of the same size, respectively. When 200 nodes are used, the number of blackout nodes in the proposed scheme is lower by 78.7% than that in the TR scheme. When 300, 400, and 500 nodes are used, the cumulative number of blackout nodes in the proposed scheme is lower by 69.2 to 77.1% than that in the TR scheme.
For 200, 300, 400, and 500 nodes used, the proposed scheme generates a lower number of blackout nodes ranging from 18% to 34% than the Normal scheme, 8% to 26% than the Comp scheme, and 2% to 23% than the ACT scheme. This result is obtained because the proposed scheme selects the more efficient of the two methods or applies both when it determines a method for specific operation.

Amount of data obtained by a sink node
The amount of data obtained per round and the overall amount of data obtained according to the change in the number of nodes were compared to examine the amount of data obtained by the sink node. Figure 8 shows the amount of data obtained from the sink node per round when 300 nodes were used in the experiment. The proposed scheme obtained a greater amount of data by 34.1% to 127% per round on average. This result was obtained because this scheme minimizes the blackout of nodes and increases the rate of successful data transmission, as shown in Figure 6. Figure 9 compares the amount of data obtained according to the schemes and changes in the density of nodes. For 500 nodes, the proposed scheme obtained a greater amount of data by 32.6% than the Normal scheme, by 18.9% than the Comp scheme, by 61% than the TR scheme, and by 6.8% than the ACT scheme. For 200, 300, and 400 nodes, the proposed scheme obtains greater amounts of data by 19.4%, 46.5%, and 27.7% than the Normal scheme, by 7.8%, 28.3%, and 17.8% than the Comp scheme, by 30.5%, 73%, and 71.9% than the TR scheme, and by 6.2%, 8.9%,  and 7.6% than the ACT scheme. The proposed scheme exhibits the highest data collection ratio regardless of the number of nodes because it ensures scalability through local decision.

Amount of residual energy
The state of residual energy of the nodes close to the sink node and outer nodes far from the sink node was also examined to verify the effects of the proposed scheme on the residual energy balancing of nodes. Figures 10 and 11 show the state of the residual energy according to the schemes and rounds based on the nodes located one to three hops from the sink node and those located one to three hops from the outside end of the sink node for 300 nodes used, respectively. In Figure 10, for the outer nodes located far from the sink node, in all the schemes, they operated in a state of virtually full recharge; however, the energy level was lower for the proposed scheme than for other schemes. In Figure 11, for the nodes located close to the sink node, the proposed scheme and ACT scheme maintained the highest residual energy, followed by the Comp scheme, Normal scheme, and TR scheme. This result was obtained because the two schemes reduce the workload of relay nodes by utilizing the surplus energy of outer nodes. Figure 12 compares the state of average residual energy of the nodes close to the sink node to that of outer nodes located far from the sink node according to the number (200, 300, 400, and 500) of nodes. As the maximum number of hops varies according to the number of nodes, the standard of close and outer nodes of sink nodes is determined by the front and back of 30% based on the overall number of hops.
As the number of nodes increases, the transmission data amount of the relay nodes also increases. As a    result, the nodes close to the sink node generally show a lower amount of energy. Furthermore, as the number of nodes increases, the difference in energy among the nodes close to the sink nodes decreases in accordance with the schemes. This result is obtained because as the number of nodes increases, the number of blackout nodes also increases and the amount of data transferred to relay nodes decreases in other schemes. In contrast, as the number of blackout nodes generated is significantly low in the proposed scheme, relay nodes can still transfer a significant amount of data.
These experimental results verify that the proposed scheme effectively controls the blackout of relay nodes using the surplus energy of nodes. Specifically, the proposed scheme utilizes the energy of outer nodes (which consume relatively less energy) to reduce the load of nodes close to the sink nodes (which require highenergy consumption), thereby decreasing the number of blackout nodes and facilitating residual energy balancing. Consequently, this scheme leads to a significant increase in the data collection ratio of networks.

Conclusion
An energy consumption policy which is carefully designed by considering both the QoS requirements of application and the characteristics of the energy source is required in energy-harvesting WSNs. This article proposed an efficient energy utilization scheme that maximizes the amount of data obtained by the sink node in energy-harvesting WSNs. When surplus energy is available, it is utilized for data compression, transmission range extension, or a hybrid method that combines both methods. Experimental results show that this process reduces the energy consumption of each node and facilitates residual energy balancing, thereby increasing the amount of data obtained in the network.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.

Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This research was supported by the Ministry of Science, ICT and Future Planning (MSIP), Korea, under the Information Technology Research Center (ITRC) support program (IITP-2017-2012-0-00646) supervised by the Institute for Information & communications Technology Promotion (IITP).