Computer Networks 121 (2017) 76–88
Contents lists available at ScienceDirect
Computer Networks journal homepage: www.elsevier.com/locate/comnet
Data bundling for energy efficient communication of wearable devicesR Jung-Woong Sung, Seung-Jae Han∗ Department of Computer Science, Yonsei University, Seoul, South Korea
a r t i c l e
i n f o
Article history: Received 25 July 2016 Revised 24 March 2017 Accepted 7 April 2017 Available online 11 April 2017 Keywords: Wearable device Data bundling Adaptive algorithm Energy efficiency Bluetooth
a b s t r a c t The amount of data that wearable devices send and receive is rapidly increasing and exceeds the capacity of the energy efficient link technologies (e.g., Bluetooth Low Energy). High capacity wireless link typically requires high connection setup cost, while wearable devices are intrinsically equipped with small battery. To deal with this dilemma, we propose to aggregate multiple data transmission requests into a single chunk and send the aggregated chunk at once to reduce the energy consumption for connection setup. Where this concept of ‘data bundling’ has been used for cloud storage services, we apply this concept to wearable devices. Data bundling extends the data delivery delay and therefore it is suitable to the applications that do not require strict real-time delivery. In this paper, we initially focus on reducing the energy consumption and then consider the tradeoff relationship between energy reduction and the penalty caused by the bundling delay. We design three bundling schemes and implement them in a commercial smartwatch which is connected to a smartphone via Bluetooth Classic link. The effectiveness of the proposed schemes is experimentally demonstrated and useful insights on the characteristics of bundling are discovered. © 2017 Elsevier B.V. All rights reserved.
1. Introduction Due to smaller battery capacity, wearable devices are much more energy constrained than larger devices like smart phones. For this reason, currently most wearable devices adopt Bluetooth as the primary communication link. Many wearable devices support two modes of Bluetooth, which are Bluetooth Classic (BTC) and Bluetooth Low Energy(BLE) (i.e., BT 4.0 dual-mode). In general, BLE consumes far less energy than BTC. According to [2], the energy consumption of BLE ranges from 1/2 to 1/100 of that of BTC, but the link throughput of BLE is considerably lower than BTC. While the typical function of wearable devices is information collection (e.g., biosensor data [3]) and information display/alarm (e.g., email notification [4]), other types of functions are emerging fast [4–6]. Some wearable devices are equipped with longer range radio such as WiFi and 3G cellular. Longer range Bluetooth link is about to be commercially available [7]. As the functionality of wearable devices expands, the energy consumption for communication becomes a key challenge.
R
Part of this paper was published in [1] Corresponding author. E-mail addresses:
[email protected] (J.-W. Sung),
[email protected] (S.-J. Han). ∗
http://dx.doi.org/10.1016/j.comnet.2017.04.025 1389-1286/© 2017 Elsevier B.V. All rights reserved.
For wireless communication, connection establishment needs to be done before actual data transmission, which is followed by post processing (including the ‘tail’ state). However such extra steps before and after data transmission consume substantial energy particularly for longer range radio like 3G. For example, the energy consumption to transmit a packet in 3G is measured to be about 3.5 J for actual transfer and 7.8 J for the extra steps [8]. The energy efficiency of Bluetooth is also significantly affected by this extra steps. In [9,10], it is reported that the energy consumption to transmit a packet in BTC is 94 mJ for actual transfer and 560 mJ for the extra steps. For BLE, the energy consumption to transmit a packet in BLE is 7.95 μJ for the actual transfer and 48.6 μJ for the extra steps [11,12]. Consequently, the total energy consumption for communication is dependent not only on the amount of data but also on the number of connection establishments. The main idea that we propose in this paper is to ‘bundle’ multiple data transmissions and transmit the aggregated data chunk at once in order to reduce the number of connection establishment. Bundling inevitably leads to the extension of data delivery delay due to buffering for aggregation. Except some real-time applications, most applications can tolerate additional delay to a certain degree. Meanwhile the amount of data to be aggregated is a factor to affect the total energy consumption. The amount of data can be reduced via compression techniques such as differential compression and header/payload compression. For the synergy between
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88
77
Fig. 1. Data bundling for wearable device.
bundling and the compression, our bundling idea can be extended with the compression techniques in terms of reducing the amount of data to be aggregated. Fig. 1 illustrates the target scenario of this paper. We consider the Bluetooth communication between a wearable device and a smartphone, but the proposed scheme is applicable to other types of communication links. At the sender side, all the data transmission requests during the ‘bundling duration’ are gathered and the bundled data is transmitted at the end of the bundling duration. At the receiver side, the received data chunk is unbundled to obtain the original packets. While bundling may be applied for both directions, but we focus on the transmission originated by wearable devices in this paper as the focus is given to the energy efficiency of wearable devices. The key issue is the determination of the bundling duration. A simple approach is to use a fixed bundling duration, which we call a Fixed Bundling scheme. It is effective when data arrival follows a known regular pattern, but this approach will be inefficient for irregular traffic pattern. In this paper, we propose to adjust the bundling duration at runtime according to the unknown and irregular traffic pattern. Our algorithms can deal with diverse traffic patterns produced by heterogeneous applications running simultaneously in a wearable device. The concept of data bundling has been widely used for cloud storage services. In [13], how bundling can reduce traffic overhead and improve the throughput for Dropbox is analyzed. The technique used for Dropbox is the Fixed Bundling scheme. In [14], the performance of various commercial personal cloud services is evaluated by considering ‘bundling’ as a key technique for reducing traffic overhead. In [15], bundling is studied from the viewpoint of timer-triggered synchronization. It concludes that there is no optimal algorithm which can cover all data patterns. On the basis of the work in [15], an update-batched synchronization algorithm is proposed in [16]. It waits for a certain duration or until the total size of data collected exceeds a certain threshold before transmitting the bundled data. All the existing works on bundling for cloud storage do not consider the energy efficiency. The concept of bundling has been exploited for energy efficiency of mobile devices in cellular networks. A scheme for reducing the high tail energy consumption in 3G network is proposed in [8]. It bundles the transmission requests until the delayed transmissions do not violate the user-defined deadlines. In [17], an algorithm to coordinate transmission requests is proposed, which exploits the delay tolerance of multiple applications by using the ski-rental model. While these works are related to our scheme, they are not readily applicable to our target scenario because the tail time of Bluetooth is much shorter than that of 3G link [8].
In [18], bundling is applied for energy efficiency of smart phones in the context of instant messaging applications in 3G networks. The instant messaging applications exchanges the presence information periodically or in event-driven manners, and the smartphone awakes whenever the exchange occurs, which causes high energy consumption. This scheme utilizes a proxy server which bundles the exchange of presence information in a similar way to the Fixed Bundling scheme. Later the proxy server transfers the gathered data to the smartphone. This mechanism is designed for a specific application. The use of bundling has been proposed for the traffic offloading from 3G to WiFi as well. In the scheme proposed in [19], the applications’ tolerance to delay is estimated, and then based on this knowledge data transmission is delayed until WiFi is available in order to reduce the use of expensive 3G link. The feasibility of exploiting delay-tolerance in WiFi offloading is theoretically analyzed by some literatures [20–22]. In [23], computation offloading is empirically studied for a wearable device, Google Glass. In this paper, computation offloading from wearable to smartphone or from wearable to cloud via smartphone is considered. They measure the time and the energy consumption for a specific computation task. The study concludes that computation offloading is beneficial when the amount of computation is sufficiently large to justify the overhead occurring for offloading. While this study has different aims from our paper, it is related to our paper in that this study also consider time and energy consumption of wearable device. The role of smartphone as a bridge between wearable devices and outside or providing computing resources to wearable devices is commonly observed in many recent research works on wearable devices. In [24], a platform for energy harvesting in smart shoes is proposed. Smart shoes transmits sensor data to the smart phone. In [25], a sensing scheme of human activity is proposed for a smart glass and a smart watch. The two devices generate various raw sensor data and transmit them to the external cloud via smartphone, in which the type of activity is estimated by using the sensor data collected. This work focuses on the side of cloud. In [26], a scheme to track the maneuver of steering wheel is proposed to be used for a driver wearing a smart watch. The scheme recognizes a specific pattern of steering wheel so that it prevents a car accident or notifies the driver safety warnings. The communication link between smart phone and wearable device is the common basic component in all these works. Our scheme can be used to enhance the energy efficiency of the wearable devices in these scenarios. Our paper is novel in that we apply data bundling to the Bluetooth connection between wearable device and smartphone
78
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88
for energy efficiency. To the best of our knowledge, our paper is the first of such attempt. Our scheme deals with the tradeoff between transmission delay and energy saving by considering the penalty caused by the delay. We first present two adaptive bundling schemes which dynamically adjust the bundling duration at run time by considering the arrival pattern of transmission requests. We implement these schemes on a commercial smart watch (Samsung Gear S [27]) and evaluate the effectiveness of our schemes by physically measuring the energy consumption of the smart watch. Our schemes are implemented at the application level without requiring any modification of kernel, so that they can be ported to other wearable devices without difficulty. As a next step, we propose another adaptive bundling scheme that considers the penalty of additional delay in data transmission to the corresponding application service. To estimate this penalty, we adopt the utility value model. To quantify the effectiveness of a bundling scheme, we define the notion of Bundling Efficiency which is essentially a combination of the obtained utility value and the power consumption. The rest of this paper is organized as follows. In Section 2, we present the first two adaptive bundling schemes. In Section 3, we explain the implementation of these schemes and present the experimental measurement results. In Section 4, we present the utility value model and our utility-aware bundling scheme. In Section 5, we evaluate the effectiveness of the proposed schemes by using the bundling efficiency as a performance metric. The paper concludes with Section 6.
at 0 sec and at 1 sec during the first bundling. Therefore, the effective bundling duration in the first bundle is 1 sec. By applying the adaptation process, the new bundling duration for the second bundling becomes 1.4 sec instead of 2 sec. The pseudo code of the algorithm is given in Algorithm 1. The bundling duration is selected within the range of minimum and maximum bundling duration. To control the adaptation speed, we introduce a constant called Padding Ratio(β ).
2. Bundling duration adaptation
Algorithm 1 Proactive adaptation algorithm.
In this Section, we present two algorithms that dynamically adjust the bundling duration by considering the arrival pattern of transmission requests. They are named ‘proactive’ scheme and ‘reactive’ scheme. The key difference of the two schemes is the timing to update the current bundling duration. In the proactive scheme, the duration of the next bundling is computed during the current bundling and the updated bundling duration is applied to the subsequent bundling. In the reactive scheme, the bundling duration is modified during the current bundling. The former may provide higher predictability of transmission delay while the latter may provide faster adaptation to traffic pattern change. 2.1. Proactive adaptation scheme This algorithm updates the bundling duration by reflecting the data request arrivals in the past. For each bundle, we compute the elapsed time from the start of the bundle to the last data arrival belonging to that bundle. We call this time ‘effective bundling duration’. A new bundling duration is computed by using the effective bundling duration obtained from the immediate previous bundling result. Notice that there is no data request during the interval from the effective bundling duration and the end of bundle. Ideally, the effective bundling duration should have been used in the previous bundle. We employ Brown’s double exponential smoothing [28] for the adaptation process, while other smoothing methods may also be used. The smoothing process is formally described in Eq. (1). x is the effective bundling duration. α is the smoothing factor. D.E.S(α ,x) becomes the next bundling duration. st = α xt + (1 − α )st−1
st = α st + (1 − α )st−1
D.E.S(α , x ) = 2st − st +
α
1−α
(1)
(st − st ) (t ≥ 1 )
Fig. 2 illustrates an example of proactive time-based adaptation. In the example, the initial bundling duration is 2 sec. Data occurs
Fig. 2. Proactive adaptation example.
Input: Minimum Bundling Duration minT, Maximum Bundling Duration maxT, Smoothing Factor α , Padding Ratio β , Current Bundling Duration δ Output: Updated Bundling Duration δ 1: if data arrives then if this is first data then 2: startT ← current time 3: end if 4: 5: Add data to bundle lastT ← current time 6: 7: end if 8: if bundle is not empty then if δ elapses since startT then 9: 10: Transmit bundle Set bundle empty 11: 12: Effective Bundling Duration ← MIN(maxT, lastT - startT) δ ← MAX(minT, β × D.E.S(α , Effective Bundling 13: Duration )) // in Eq. (1) end if 14: 15: end if
2.2. Reactive adaptation scheme We propose another adaption algorithm. This algorithm is called ‘reactive’ as the bundling duration is adjusted during the current bundling process by reflecting the data arrival pattern. The basic idea is as follows. When new data arrives, we extend the bundling duration by Increasing Ratio. If there is no data arrival, the bundling duration is shortened by Decreasing Ratio. If data occurs frequently, the bundling duration may grow too fast. To avoid such a behavior, we adjust Increasing Ratio by using Dampening Factor as follows.
Increasing Ratio = Initial Increasing Ratio − (Dampening Factor × Data Count )
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88
Fig. 3. Reactive adaptation example.
The pseudo code of the algorithm is given in Algorithm 2. Algorithm 2 Reactive adaptation algorithm. Input: Maximum Bundling Duration maxT, Current Bundling Duration δ Output: Updated Bundling Duration δ 1: if data arrives then if this is first data then 2: startT ← current time 3: count ← 0 4: 5: end if Add data to bundle 6: δ ← δ × (Increasing Ratio − Dampening Factor × count ) 7: 8: count ← count + 1 9: end if 10: if bundle is not empty then if no data arrives then 11: 12: δ ← δ × Decreasing Ratio end if 13: if (δ elapses since startT) or (maxT elapses since startT) then 14: 15: Transmit bundle Set bundle empty 16: δ ← elapsed time since startT 17: end if 18: 19: end if Fig. 3 illustrates an example of reactive time-based adaptation. The initial bundling duration is 2s. During the first bundling, data arrives at 0s and 1s, which increases the bundling duration beyond 2s temporarily. The bundling duration shrinks back to 2s and bundling is finished as there is no data arrival at 2s. In the second bundling, since there is no data at 4s, the bundling duration shrinks to 1.5s. 3. Implementation & experiments 3.1. Implementation details We have implemented the proposed schemes on a commercial smartwatch, Samsung Gear S [27]. While some wearable devices are equipped with 3G or WiFi links, most wearable devices usually rely on the Bluetooth link that provides a device to device communication link with a particular smartphone even if they have 3G or WiFi links. It is primarily to avoid the high power consumption of the wearable device incurred by the use of 3G or WiFi link. Based
79
on the Bluetooth connection, a wearable device typically establishes a client-server relationship with the particular smartphone. Fig. 4 depicts how a wearable device (client) communicates with a smartphone (server). The applications running on the wearable device become the clients and the applications running on the smartphone become the servers. Wearable device applications may run in a stand alone mode (e.g., Clock, Contacts, etc.) which does not require the connectivity to the server smartphone. Most of useful applications(e.g., Web Browser, Instant Messaging, Email, etc.) require the connectivity to the smartphone via Bluetooth link. Server applications in the smartphone may utilize the internet link. A wearable device may have a local proxy that coordinates the communication with the server smartphone and carries out customized functions for certain applications. The proposed bundling scheme may be implemented in the local proxy. To avoid any change in the existing kernel code of the wearable device, we implement our scheme in a separate proxy. In this way, the bundling proxy lies between the client and the local proxy if it exists. Our bundling proxy is written in the C language with around 1800 lines of codes. It is independent of the underlying operating system except for the use of traffic redirection capability. For the Gear S implementation, we configure iptables [29] for outbound data sent from the client to be redirected to the bundling proxy.1 The experiment testbed is shown in Fig. 5. Samsung Gear S which runs Tizen 2.3 [31] is connected to a Samsung Galaxy S3 smartphone [32]) which runs Android 4.4.4. Monsoon Power Monitor [33] is used to measure the power consumption of Gear S. The measurement data from the monsoon power monitor is logged at a PC. The PC also works as a control console of the Gear S by sending shell commands. To this end the PC is connected to the Gear S via USB. Fig. 6 presents the logical view of our experiment setup. We block the USB charging from the PC. Gear S, however, consumes additional power for the USB connection and this should be taken into account when measuring the power consumption of Gear S. While we use Samsung Gear S in the testbed, the proposed scheme is not bound to a particular hardware or a particular OS. It requires port-forwarding supported from the OS kernel. Via portforwarding, the application data are intercepted and buffered by our bundling scheme and after certain accumulation they are sent out via communication link. In that sense, it is not tied to a particular type of communication link either. The proposed scheme can be implemented in other hardware running other. Indeed we have implemented our scheme in an Android device as well. 3.2. Traffic generation & power consumption measurement For designing the traffic generator, we analyze the traffic patterns of two types of wearable device applications: interactive application traffic and (non-interactive) background application traffic. The former corresponds to the traffic for such applications as web browsing and chatting. The latter corresponds to the traffic for such purposes as push notification and logging data. so that it is not feasible to extract general characteristics. In our experiments, we use three applications that are supported by Gear S: S-Voice, Opera Mini and WearChat Free.2 Since the background traffic pattern of Gear S is too simple as of now, we use the background traffic trace of Android smartphone instead. We plot the probability distribution of the size of data transmission requests and the request interval in Figs. 7–9. It can be observed that the request interval of interactive applications are 1 The Gear S generates an AJAX (Asynchronous Javascript and XML) using XHR (XMLHTTPRequest) object to send a transmission request [30]. 2 S-Voice is a voice-recognition application. Opera Mini is a web browser. WearChat Free is a chatting program.
80
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88
Fig. 4. Bundling implementation structure.
Fig. 8. Data request interval of interactive application traffic.
Fig. 5. Experiment testbed.
Fig. 9. Data request interval of background application traffic.
Fig. 6. Logical view of the testbed.
Fig. 7. Distribution of the data request size.
shorter than that of background applications. To avoid unnecessary complication, we obtained one distribution for the data request size. In the experiment, traffic is generated in accordance with the obtained distributions. More accurately, we take out the most meaningful portions of the distributions and convert them to uniform distributions. The portions used are marked in Fig. 7–9. As a result, the average request size becomes 565 Bytes and the average request intervals becomes 0.593s for interactive traffic and 1.769s for background traffic. The total power consumption of Gear S which is measured by the monsoon power monitor is dissected as shown in Fig. 10. To assess the energy saving by the bundling scheme, we identify the baseline power consumption that is not relevant to the bundling scheme. They are the power consumption for ‘USB connection’, ‘OS minimum’ and ‘Traffic generator’. ‘USB connection’ is the amount of power consumption caused by the USB connection to the PC. ‘OS minimum’ is the amount of power consumption when no ap-
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88
81
Table 3 Energy saving with interactive application traffic.
Table 1 Baseline power consumption measurement result. Power consumption 97.23 mW 26.92 mW < 0.01 mW 124.15 mW
Table 2 Parameters of the proposed schemes used in the experiment. Proactive scheme
Energy consumption (overhead excluded)
Energy reduction vs. no-bundling
No-bundling Fixed-1 s Fixed-2 s Fixed-3 s Fixed-4 s Fixed-5 s Proactive-short Proactive-long Reactive-short Reactive-long
81.54 mW 69.36 mW 67.20 mW 65.47 mW 61.41 mW 56.65 mW 62.34 mW 59.50 mW 64.73 mW 63.36 mW
– −14.94% −17.59% −19.71% −24.69% −30.52% −23.55% −27.03% −20.62% −22.30%
Table 4 Energy saving with background application traffic.
Fig. 10. Dissecting the power consumption of wearable device.
USB connection OS minimum Traffic generator Total
Scheme
Scheme
Energy consumption (overhead excluded)
Energy reduction vs. no-bundling
No-bundling Fixed-1 s Fixed-2 s Fixed-3 s Fixed-4 s Fixed-5 s Proactive-short Proactive-long Reactive-short Reactive-long
67.2 mW 64.74 mW 59.78 mW 58.83 mW 58.02 mW 57.48 mW 62.18 mW 59.61 mW 63.26 mW 59.16 mW
– −3.66% −11.04% −12.46% −13.66% −14.46% −7.47% −11.29% −5.86% −11.96%
Reactive scheme
Parameter
Short
Long
Parameter
Short
Long
Initial bundling duration Max. bundling duration Min. bundling duration Smoothing factor Padding ratio
3.0 4.0 1.0 0.3 1.1
4.0 5.0 1.0 0.5 1.45
Initial bundling duration Max. bundling duration Increasing ratio Decreasing ratio Dampening factor
3.0 4.0 1.25 0.75 0.05
1.0 5.0 1.70 0.75 0.05
plication runs in Gear S with USB link to the PC disconnected. The display of Gear S is always turned off. Table 1 shows the results of the baseline power consumption measurements. For the accuracy, we averaged the results of 10 times of measurements, each of which is conducted for 300s. Total baseline power consumption is measured as about 124 mW, large portion of which is attributed to the USB connection. The power consumption of the traffic generator is negligibly small. 3.3. Experiment results We apply data bundling only to the uplink transmission (i.e., traffic sent from the smartwatch to the smartphone) as our primary goal is to reduce the energy consumption of the smartwatch. The degree of energy saving is measured by comparing with the energy consumption when bundling is disabled (named as ‘nobundling’). We also compared our scheme with the ‘fixed bundling’ scheme. The bundling duration of the fixed bundling schemes are set to 1–5s. To examine the impact of the parameters of the proposed schemes, we configure our schemes to produce relatively short and long bundling durations. We name the two versions short and long respectively. The parameters that are used for our schemes used in the experiment are given in Table 2. Tables 3 and 4 present the experiment results. Energy consumption is computed after subtracting the baseline energy consumption shown in Energy reduction is calculated against to the case of no-bundling. The values are obtained by averaging the results of 10 times of experiments. When the bundling duration is long, more data requests will be bundled, which results in higher energy reduction. It is why the ‘long’ versions of proposed schemes achieve higher energy reduc-
tion than the ‘short’ versions. It is also why higher reduction is resulted as the bundling duration is set larger in case of the fixed bundling scheme. For the same bundling duration, more requests will be bundled if traffic request interval is shorter. It is why energy reduction is higher for interactive traffic (Table 3) than for background traffic (Table 4). The performance difference of proactive bundling and reactive bundling is unclear. It is because the degree of energy reduction for these schemes can be controlled by properly configuring the parameters. Note that higher energy reductions incurs longer transmission delay as data must wait during the bundling duration. We address the issue of penalty caused by the extended delay in the next section. 4. Utility value aware bundling Data bundling inherently causes delayed transmission of data since bundled data is transmitted at the end of the bundling duration. If the applications can not tolerate delayed transmission (i.e., if applications require real-time delivery), bundling is not suitable. For most applications, however, extension of delivery delay is tolerable to a certain degree. In this paper, we model the impact of delayed transmission due to bundling on the worth of data by using Utility Value. 4.1. Utility value In general, the utility value of data decreases as the delivery delay increases and it will converge to zero (i.e., no worth) when the delay exceeds a certain point. We calculate the utility value of data by multiplying Data Size and Utility Function (U(x)). As shown in Eq. (2), x is t/e), where t is the elapsed time since the data request arrives and e is the expiration time of data (i.e., the point when the worth of the data becomes zero). Without loss of generality, we can assume that a utility function is a non-increasing function and its value converges to 0 as x approaches to 1.
Utility Value = Data Size × U (x ) (0 ≤ x ≤ 1, 0 ≤ U (x ) ≤ 1, x = t/e )
(2)
82
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88
Different applications may have different utility functions. There exist papers that study the relationship between QoE and waiting times [34–36], which try to capture the relationship by such a function as Eq. (3). U(x) is continuous within the closed interval [0,1] with 0 < k < 1, and D(x) is a monotonically decreasing function. Determining U(x) of applications is out of the scope of this paper. We assume that it is given (e.g., U (x ) = 1 − x5 ).
U (x ) =
1
0≤x≤k
D (x )
k≤x≤1
(3)
4.2. Bundling efficiency We now discuss how to evaluate the efficiency of the bundling scheme by taking utility value into account. Transmitting data quickly by setting the bundling duration short will increase the utility value, but short bundling duration will decrease the energy consumption. Therefore, data bundling should be done to balance the tradeoff between these two factors. To quantify this tradeoff, we introduce a performance metric called Bundling Efficiency. As shown in Eq. (4), it is computed by a function F which has two components: Power Efficiency and Data Value. Power Efficiency measures how much energy reduction is achieved as compared to the no-bundling scheme. Data Value quantifies how much utility value is reduced due to delayed transmission as compared to the no-bundling scheme. The lower bound of power efficiency is 1.0 when energy saving is none. The upper bound of data value is 1.0 since no-bundling produces the highest utility value. The choice of F is subject to the operation environment of certain wearable devices and is beyond the scope of this paper. We do not specify a particular function for F in this paper, but without loss of generality F should increases for high utility value and low energy consumption.
Bundling Efficiency = F Power Efficiency, Data Value Power Efficiency Measured Power Consumption −1 = ≥1 No-Bundling Power Consumption Measured Utility Value Data Value = ≤1 No-Bundling Utility Value
(4)
4.3. Utility-aware bundling scheme Unlike the two schemes proposed earlier, this scheme adjusts the bundling duration based on the change of the utility value of data. Recall that utility value is an indicator of data worth. A wearable device may simultaneously run multiple applications that have different utility functions. In such a case, we monitor the change of the total sum of the each application data’s utility value. If the total utility value decreases faster than a certain degree (called ‘minimum slope threshold’), bundling is ended and bundled data so far is transmitted. We call this moment a ‘critical point’. The minimum slope threshold is dynamically changed during bundling. As a result, the bundling duration is also adjusted during the current bundling. The minimum slope threshold is selected by considering the data arrival pattern. A smaller value is preferred for sparse data arrival, while a larger value is preferred for dense data arrival. The rationale is as follows. For sparse data arrival, extending the bundling duration is likely to result the waste of utility value since the chance of additional data arrival during the current bundling duration is low. By the same token, extending the bundling duration is likely to be beneficial for dense data arrival. In our algorithm, the minimum slope threshold is increased whenever data arrives and is decreased otherwise. The pseudo code of
Fig. 11. Utility-aware adaptation example.
the algorithm is given in Algorithm 3. C1 in the pseudo code denotes the condition of the critical point. If the total utility value decreases slower than the slope threshold, a bundling never ends (i.e., C1 does not activate). To avoid this case, we add an additional condition of the critical point. This condition checks the total utility value drops under the lower limit by computing the ratio of current total utility value to the initial utility value. C2 denotes this condition. Even if the decrease of the utility value is slower than the minimum slope threshold, the current bundling process is stopped if the ratio of decreased utility value to the initial utility value exceeds the minimum slope threshold. Algorithm 3 Utility-aware adaptation algorithm.
Input: Maximum Bundling Duration maxT, Minimum Slope Threshold λmin , Maximum Slope Threshold λmax , Current Slope Threshold λ , Smoothing Weight Factor 1: if data arrives then 2: if this is first data then 3: startT ← current time 4: startU ← current total utility value 5: end if 6: Add data to bundle 7: λ ← × λmax + (1 − ) × λ 8: else 9: λ ← × λmin + (1 − ) × λ 10: end if 11: if bundle is not empty then μ 12: C1 ← ( time )/startU< λ 13: C2 ← (startU − current total utility value) / startU >
|λ|
14: 15: 16: 17: 18:
if C1 is true or C2 is true or (maxT elapses since startT) then Transmit bundle Set bundle empty end if end if
Fig. 11 illustrates an example of utility-aware adaptation. Initially the bundling duration is set to the maximum bundling duration. Data arrives at 0s and 1s. The algorithm keeps track of the total utility value, which decreases as time passes. Notice a sudden increase of total utility when the second data arrives at 1s. The first bundle ends at 1.3s, which is triggered by C1 . The second bundle
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88
ends at 3.2s, which is also triggered by C1 . The third bundle finally ends at 6.3s, which is triggered by C2 . 5. Bundling efficiency evaluation In this section, we evaluate the performance of the proposed schemes in the viewpoint of ‘bundling efficiency’ which has two components (i.e., Power Efficiency and Data Value) as explained in the previous section. We conduct extensive evaluation by varying the parameters of the proposed schemes, the arrival pattern of transmission request, the size of data, the utility functions, and so on. The actual measurement of the energy consumption of the wearable device as in Section 3 produces reliable results after averaging the results of multiple experiments due to various experimental uncertainties. For this reason, in this section we use the emulation analysis which is based on the power consumption model of the Bluetooth link. 5.1. Bluetooth power consumption model
Bluetooth Power Consumption = Link-setup-related energy +Transmission-related energy (5) Bluetooth transmission follows a series of steps, which can be classified into Link-setup-related steps and Transmission-related steps. Link-setup-related steps include Link Startup and Initialization (wake-up), Link Idle (wait for transmission), Post-processing (ready for sleep) and Link Sleep. Transmission-related steps include Pre-processing, Transmission (a series of RX/TX), and Postprocessing. We first measure the power consumption of the Bluetooth link of the smartwatch in our testbed and then apply the linear regression method to obtain the power consumption equations for different packet sizes. The obtained equations are as follows.
Link-setup-related energy N × 46.55 = 4.0 × 46.55 + (N − 4.0 ) × 38.31 Bundles Transmission-related energy = T × (80.78 + 43.91 × R )
N ≤ 4.0 N > 4.0
(mJ )
(mJ )
Bundles
T = (103.42 + 3.85 × #of Aggregated Requests )/10 0 0
Data Size of Aggregated Requests R= Bluetooth Packet Size
(s )
Elapsed Time N is Total . For instance, if we send 100 requests in #of Total Requests 60s, N is 0.6 . T is the duration of a transmission. R is the number of packets to be transmitted. The packet size of Bluetooth link varies by the payload size (i.e., the size of data). While various combinations of packets (e.g., DM1/3/5 and DH1/3/5) may be considered [37], we choose the ACL-DH5 packet type which is 331 Byte long to simplify our model. In Fig. 12, the result of our Bluetooth power consumption model is compared with the experimental measurement data. The power consumed for the Bluetooth communication is measured for 60s. They match reasonably well.
5.2. Evaluation scenarios We evaluate the bundling efficiency of the proposed schemes by comparing with the fixed bundling scheme and the no-bundling scheme. We emulate the experiment setting used in Section 3. As in Section 3, the bundling duration of the fixed schemes are set to 1–5s. Four versions of the proactive and reactive bundling schemes
83
(i.e., pro-short, pro-long, re-short, re-long) are evaluated. The parameters used for these schemes are given in Table 2. We also evaluate the utility-aware bundling scheme (called ‘utility scheme’ in short). The parameter values used for the utility scheme are given in Table 5. For the utility function, we use the Nth-power function shown in Eq. (6).
Unth−power (x ) = 1 − xn
(n ≥ 0 )
(6)
n is set to 5 if not specified otherwise. Extensive evaluation is performed by exhaustively varying the arrival pattern and the size of data requests. Uniform distribution and normal distribution are used for arrival pattern generation. The data size is randomly chosen with the range of [0, Max. Data Size]. 5.3. Impact of data arrival pattern & data size Fig. 13 plots the bundling efficiency of the schemes under comparison in a two dimensional chart of power efficiency and data value. For each scheme, two cases of data size (i.e., Max. Data Size of 100 Bytes and 10 KBytes) are tested, which are marked by large color polygons and small white polygons, respectively. Data request arrivals follow uniform distribution. D is used to represent the data request arrival pattern, which is the ratio of data arrivals per second (e.g., D = 10% means 1 arrival in 10s). In Fig. 13, the cases of two traffic density (i.e., D = 10% and 80%) are shown. Each data point is obtained by averaging 100 times of experiments. As expected, the No-bundling scheme results the highest data value but ends up with the lowest power efficiency. High power efficiency and high data value are preferred while they have a tradeoff relationship. The tradeoff relationship is manifested by the black diagonal lines in Fig. 13, which are obtained by applying linear regression to the results of the fixed bundling schemes. Some interesting observations from the results of the fixed bundling schemes are as follows. Firstly, the bundling efficiency is highly dependent on the traffic density and the bundling duration. Higher traffic density (i.e., large D) results in higher data value but lower power efficiency. We will explain the reason for this later by using Figs. 14 and 15. Secondly, the data size has virtually no impact. i.e., Max. Data size of 100 Bytes and 10 KBytes produce almost identical bundling efficiency. The large polygons almost exactly overlap the small polygons in Fig. 13. Of course, this does not mean that the total power consumption is equal, but it means that the relative power saving against no-bundling is equal. The absolute value of total power consumption of 10 KBytes is lower than that of 100 Bytes, which can be observed in Figs. 14 and 15. Now, let us discuss about the proposed schemes. In contrast to the fixed bundling scheme, the proposed schemes are much less affected by the traffic density. It is since the bundling duration is adaptively decided according to the data arrival pattern. In case of D = 10%, all proactive and reactive schemes produce virtually the same result, which is a tradeoff point between power efficiency and data value. In case of D = 80%, we can observe the separation between the ‘short’ and ‘long’ versions. By extending the bundling duration, the ‘long’ versions can increase power efficiency at the expense of data value. As shown in Fig. 13(d), the ‘proactivelong’ scheme performs particularly well in this setting (i.e., further enhancing the power efficiency without sacrificing the data value). We, however, do not conclude that the proactive scheme is superior to the reactive scheme. It depends on how the parameter setting of a scheme matches well with the current data arrival pattern. The utility scheme always performs well by breaking the tradeoff relationship between energy efficiency and data value, which is not surprising as it uses the knowledge on the data value. Figs. 14 and 15 reveal more details of the results. We show only the cases of Max. Data Size = 100 Bytes, while the same trend is maintained in other cases. The total power consumption and the
84
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88
(a) Interactive traffic case
(b) Background traffic case
Fig. 12. The comparison of the experimental measurements and the results of our power consumption model. Table 5 Parameters for utility-aware adaptation algorithm. Parameter
Initial slope threshold
Max. bundling duration
Min. slope threshold
Max. slope threshold
Smoothing weight factor
Value
0.3
4.0
−0.05
−0.5
0.5
(a) Fixed Bundling Duration Schemes, D=10%
(b) Proposed Schemes, D=10%
(c) Fixed Bundling Duration Schemes, D=80%
(d) Proposed Schemes, D=80%
Large color polygons: Max. Data Size=100Bytes Small white polygons: Max. Data Size=10KBytes Fig. 13. Bundling efficiency comparison with uniform data request arrivals.
total utility value are the accumulated values measured for 60s of experiment. Recall that power consumption is computed by using the Bluetooth power consumption model presented in Section 5.1. It is clearly shown that bundling reduces the number of transmissions (i.e., bundled transmissions). Fewer transmissions decrease the number of link establishments, which reduce power consumption. For example, in the D = 10% case, about 600 mJ of power reduction is achieved by the ‘fixed-5 s’ scheme as compared to no-bundling. In the D = 80% case, the reduction increases
to about 800 mJ. However, the power efficiency (Eq. (4)) of the D=10% case is higher than the D = 80% case, even if the latter case results larger power reduction. It is because the power efficiency is computed in the ratio between no-bundling and a bundling scheme.3
3 Energy consumption has two parts: link-setup energy and transmission energy. The energy reduction by bundling comes from the reduction of link-setup energy and transmission energy solely depends on the amount of data. If data size is big,
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88
85
(a) Total Power Consumption and Total Utility (b) Avg. # of Transmissions and Avg. Bundling Value Duration Fig. 14. Detailed Analysis with uniform data request arrivals (Max. Data Size = 100 Bytes, D = 10%).
(a) Total Power Consumption and Total Utility (b) Avg. # of Transmissions and Avg. Bundling Value Duration Fig. 15. Detailed Analysis with uniform data request arrivals (Max. Data Size = 100 Bytes, D = 80%).
Fig. 16. Data arrival by normal distributions. (Max. Data Size = 10 KBytes, D = 10%).
Meanwhile, the data value tends to increase as the traffic density increases. The average data value of the D = 80% case is higher than the D = 10% case for the same bundling scheme. It is because more data requests will be sent at the end of a given bundling duration and therefore the average delay of each request will decrease. Finally, notice that the utility scheme results far higher average data value than other schemes with similar average bundling duration (e.g., fixed-2 s, fixed-3 s, reactive-long for the D = 10% case, and fixed-2 s, fixed-3 s, reactive-short for the D = 80% case). Now we consider the case when the data arrival follows a distribution with some centrality unlike the uniform distribution. Figs. 16 and 17 show the results when data arrivals follow the
the transmission energy increases while the reduction of link-setup energy remains same. This leads to lower (relative) power efficiency.
normal distributions with σ = 1, 5. The power efficiency of the proposed bundling schemes is substantially higher in the case of σ = 1 than the case of σ = 5. The case of σ = 5 is actually similar to the case of the uniform distribution. It is because more effective adaptation of bundling duration as the inter-arrival time of data becomes more regular. The data value is not affected much by σ . 5.4. Impact of utility function The shape of utility function also affects the bundling efficiency. Here we assess the impact of utility function by varying the slope of the Nth-power utility functions (Eq. (6)). The results for the fixed-5 s scheme and the utility scheme are presented in Fig. 18. In case of the fixed bundling scheme, higher degree of Nth-power functions result high data value as the slope of the utility function becomes flatter. The power efficiency of fixed bundling scheme is
86
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88
Fig. 17. Data arrival by normal distributions. (Max. Data Size = 10 KBytes, D = 80%).
Fig. 18. Impact of utility functions (Max. Data Size = 10 KBytes, D = 80%).
Fig. 19. Impact of slope threshold(st).
independent of the utility function because the bundling duration is determined independent of the utility function. In case of the utility scheme, the power efficiency is enhanced when higher degree of Nth-power functions are used. It is because slower decrease of utility value allows the utility scheme to bundle more data requests by extending the bundling duration. As a consequence, the data value may be compromised. Indeed, in case of Nth-power (n = 15), the data value of utility scheme is lower than that of Nth-power (n = 5). As explained in Section 4.3, slope threshold is a key parameter of the utility scheme. Large slope threshold tends to increase the bundling duration. To examine its impact, we fix the slope threshold by disabling the adaptation of slope threshold. Fig. 19 shows the bundling efficiency of the utility scheme for different slope thresholds which is fixed for the purpose of experiment. As ex-
pected, when larger slope threshold is used, the power efficiency increases but the data value decreases.
6. Conclusion In this paper, we have explored the problem of aggregating data transmission requests into a single chunk, which is termed ‘data bundling’, for wearable devices. The rationale behind this problem is two-fold. Firstly, many application can tolerate some delay. Secondly, wireless link involves considerable energy consumption for connection setup (e.g., pre-processing and post-processing / tail energy) in addition to the energy consumption for the data transmission itself. In this paper, we initially focus on reducing the energy consumption and then deal with the tradeoff relationship be-
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88
tween energy reduction and the penalty caused by the bundling delay to the applications. We have made two key contributions in this paper. Firstly, we propose three data bundling algorithms designed for wearable devices. Our algorithms adaptively change the bundling duration by considering the data arrival pattern. Secondly, we conduct performance evaluation by implementing the proposed schemes in a commercial wearable device. The proposed scheme targets at any wearable device which is energy-constrained. However, if the traffic is very sparsely generated, the gain of bundling would be limited. If the traffic has strict real-time constraint, bundling would be hard to apply. Acknowledgment This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government(MSIP) (No. NRF-2016R1A2B4014505). References [1] J.-W. Sung, S.-J. Han, Data bundling for energy efficient communication of wearable devices, in: Local Computer Networks (LCN), 2015 IEEE 40th Conference on, IEEE, 2015, pp. 321–328. [2] Bluetooth official website, bluetooth sig inc. http://www.bluetooth.com/Pages/ Basics.aspx. [3] A. Pantelopoulos, N.G. Bourbakis, A survey on wearable sensor-based systems for health monitoring and prognosis, Syst. Man Cybern. Part C IEEE Trans. 40 (1) (2010) 1–12. [4] A. Research, Ninety million wearable computing devices will be shipped in 2014 driven by sports, health and fitness, says abi research, http://www. reuters.com/article/abi-research-idUSnBw305838a+100+BSW20140130 2014. [5] Forbes, Internet of things by the numbers: market estimates and forecasts, http://www.forbes.com/sites/gilpress/2014/08/22/internet- of- things- bythe- numbers- market- estimates- and- forecasts 2014. [6] C.V.N.I. Cisco, Global mobile data traffic forecast update. 2014–2019 (white paper), 2015 [7] B.S. Inc., Bluetooth 5 quadruples range, doubles speed, increases data broadcasting capacity by 800% https://www.bluetooth.com/news/pressreleases/ 2016/06/16/- bluetooth5- quadruples- rangedoubles- speedincreasesdata- broadcasting- capacity- by- 800, 2016. [8] N. Balasubramanian, A. Balasubramanian, A. Venkataramani, Energy consumption in mobile phones: a measurement study and implications for network applications, in: Proceedings of the 9th ACM SIGCOMM Conference on Internet Measurement Conference, ACM, 2009, pp. 280–293. [9] M.C. Ekstrom, M. Bergblomma, M. Lindén, M. Bjorkman, M. Ekstrom, A bluetooth radio energy consumption model for low-duty-cycle applications, IEEE Trans. Instrum. Meas. 61 (3) (2012) 609–617. [10] G.P. Perrucci, F.H. Fitzek, J. Widmer, Survey on energy consumption entities on the smartphone platform, in: Vehicular Technology Conference (VTC Spring), 2011 IEEE 73rd, IEEE, 2011, pp. 1–6. [11] M. Siekkinen, M. Hiienkari, J.K. Nurminen, J. Nieminen, How low energy is bluetooth low energy? comparative measurements with zigbee/802.15. 4, in: Wireless Communications and Networking Conference Workshops (WCNCW), 2012 IEEE, IEEE, 2012, pp. 232–237. [12] S. Kamath, J. Lindh, Measuring bluetooth low energy power consumption, Texas Instruments application note AN092, Dallas(2010). [13] I. Drago, M. Mellia, M. M Munafo, A. Sperotto, R. Sadre, A. Pras, Inside dropbox: understanding personal cloud storage services, in: Proceedings of the 2012 ACM Conference on Internet Measurement Conference, ACM, 2012, pp. 481–494. [14] I. Drago, E. Bocchi, M. Mellia, H. Slatman, A. Pras, Benchmarking personal cloud storage, in: Proceedings of the 2013 Conference on Internet Measurement Conference, ACM, 2013, pp. 205–212.
87
[15] Z. Li, Z.-L. Zhang, Y. Dai, Coarse-grained cloud synchronization mechanism design may lead to severe traffic overuse, Tsinghua Sci. Technol. 18 (3) (2013) 286–297. [16] Z. Li, C. Wilson, Z. Jiang, Y. Liu, B.Y. Zhao, C. Jin, Z.-L. Zhang, Y. Dai, Efficient batched synchronization in dropbox-like cloud storage services, in: Middleware 2013, Springer, 2013, pp. 307–327. [17] L. Xiang, S. Ye, Y. Feng, B. Li, B. Li, Ready, set, go: coalesced offloading from mobile devices to the cloud, in: INFOCOM, 2014 Proceedings IEEE, IEEE, 2014, pp. 2373–2381. [18] L.-S. Meng, D.-s. Shiu, P.-C. Yeh, K.-C. Chen, H.-Y. Lo, Low power consumption solutions for mobile instant messaging, IEEE Trans. Mob. Comput. 11 (6) (2012) 896–904. [19] O.B. Yetim, M. Martonosi, Dynamic adaptive techniques for learning application delay tolerance for mobile data offloading, in: Proceedings of the 34th Annual Internation Conference on Computer Communications (INFOCOM). IEEE, IEEE, 2015. [20] P. Shu, F. Liu, H. Jin, M. Chen, F. Wen, Y. Qu, B. Li, etime: energy-efficient transmission between cloud and mobile devices, in: INFOCOM, 2013 Proceedings IEEE, IEEE, 2013, pp. 195–199. [21] F. Mehmeti, T. Spyropoulos, Is it worth to be patient? analysis and optimization of delayed mobile data offloading, in: INFOCOM, 2014 Proceedings IEEE, IEEE, 2014, pp. 2364–2372. [22] H. Deng, I.-H. Hou, Online scheduling for delayed mobile offloading, in: 2015 IEEE Conference on Computer Communications (INFOCOM), IEEE, 2015, pp. 1867–1875. [23] C. Ragona, F. Granelli, C. Fiandrino, D. Kliazovich, P. Bouvry, Energy-efficient computation offloading for wearable devices and smartphones in mobile cloud computing, in: Global Communications Conference (GLOBECOM), 2015 IEEE, IEEE, 2015, pp. 1–6. [24] Q. Huang, Y. Mei, W. Wang, Q. Zhang, Battery-free sensing platform for wearable devices: The synergy between two feet, in: Computer Communications, IEEE INFOCOM 2016-The 35th Annual IEEE International Conference on, IEEE, 2016, pp. 1–9. [25] S. Faye, N. Louveton, G. Gheorghe, T. Engel, Toward a characterization of human activities using smart devices: A micro/macro approach, in: Computer Communications Workshops (INFOCOM WKSHPS), 2016 IEEE Conference on, IEEE, 2016, pp. 676–681. [26] C. Karatas, L. Liu, H. Li, J. Liu, Y. Wang, S. Tan, J. Yang, Y. Chen, M. Gruteser, R. Martin, Leveraging wearables for steering and driver tracking, in: Computer Communications, IEEE INFOCOM 2016-The 35th Annual IEEE International Conference on, IEEE, 2016, pp. 1–9. [27] Samsung gears, samsung electronics http://www.samsung.com/global/ microsite/gears/, 2014. [28] Averaging and exponential smoothing models, http://www.duke.edu/∼rnau/ 411avg.htm 2011. [29] The netfilter.org “iptables” project, http://www.netfilter.org/projects/iptables. [30] W.W.G. Note, Xmlhttprequest level 2, 2014, https://www.w3.org/TR/ XMLHttpRequest2/. [31] a. L. F. P. Tizen Project, Tizen — an open source, standards-based software platform for multiple device categories., https://www.tizen.org/. [32] Samsung galaxy s3, samsung electronics, http://www.samsung.com/global/ galaxys3/ 2012. [33] Monsoon power monitor, monsoon solutions inc. https://www.msoon.com/ LabEquipment/PowerMonitor/. [34] S. Egger, P. Reichl, T. Hosfeld, R. Schatz, Time is bandwidth? Narrowing the gap between subjective time perception and quality of experience, in: Communications (ICC), 2012 IEEE International Conference on, IEEE, 2012, pp. 1325–1330. [35] S. Egger, T. Hossfeld, R. Schatz, M. Fiedler, Waiting times in quality of experience for web based services, in: Quality of Multimedia Experience (QoMEX), 2012 Fourth International Workshop on, IEEE, 2012, pp. 86–96. [36] R. Schatz, T. Hossfeld, Web Qoe Lecture1: Quality of Experience, Phd School Krakov, Cost TMA, 2012. [37] G.P. Perrucci, M.V. Pedersen, T.K. Madsen, F.H. Fitzek, Energy evaluation for bluetooth link layer packet selection scheme, in: Wireless Conference, 2009. EW 2009. European, IEEE, 2009, pp. 250–254.
88
J.-W. Sung, S.-J. Han / Computer Networks 121 (2017) 76–88 Jung-Woong Sung received the B.S. degree in Computer Science from the Yonsei University Seoul, Korea in 2014. Currently, he is a Ph.D. student of the Department of Computer Science in the Yonsei University, Seoul, Korea. His primary research interest is energy-efficient systems in mobile cloud computing.
Seung-Jae Han received the B.S. and M.S. degrees in computer engineering from Seoul National University, Seoul, Korea, and the Ph.D. degree in Computer Science and Engineering from the University of Michigan, Ann Arbor. He was a Member of Technical Staff of the Wireless Research Laboratory, Bell Laboratories, Alcatel-Lucent, Murray Hill, NJ. Currently, he is a professor in the computer science department of Yonsei University, Seoul, Korea. His research interests include mobile networking, wireless Internet, and network management.