Elsevier

Computer Communications

Volume 134, 15 January 2019, Pages 114-125
Computer Communications

Data-bundling proxy to aggregate transmissions for energy-constrained devices

https://doi.org/10.1016/j.comcom.2018.12.002Get rights and content

Abstract

Typically, when there is no traffic on a wireless link, the connection is closed and the link enters a sleep mode. To resume communication, connection establishment is needed before starting data transmission. Since connection establishment/close (and the mode change between sleep and active modes) are expensive in terms of delay and energy consumption, it is desirable to reduce such actions particularly for energy-constrained devices. In this paper, we propose to aggregate (i.e., postponing and buffering) multiple transmissions into a single transmission of an aggregated chunk, which we call data-bundling. Intrinsically, there is a trade-off between the delay induced by postponing transmission and the degree of energy consumption reduction. To optimize this trade-off, the bundling duration must be chosen properly. Our scheme adopts the N-gram model to exploit the traffic generation pattern to determine the bundling duration adaptively. In particular, the traffic generation of each application is considered individually and so that our scheme is effective even in case various heterogeneous applications are mixed. Our scheme is implemented as a transparent proxy, which has minimal dependency on the underlying system. Extensive evaluations in Android-OS platforms using real application traffic show the effectiveness of the proposed scheme.

Introduction

Wearable devices and IoT devices are typically powered by battery, and therefore ‘energy constraint’ is a key issue for these devices. To extend the operation time, they are typically not equipped with high computational power and carry out relatively simple tasks such as sensing (e.g., biosensor [1]) and event notification (e.g., email alarm). Computationally intensive tasks are executed at the external servers which these devices are connected to via wireless link. For this reason, the energy consumption for communication is more important than in the conventional mobile devices such as smartphone. In addition, the energy consumption for display is far less substantial in these devices as compared to conventional mobile devices.

Since wearable/IoT devices transmit and receive relatively small amount of data in a time sporadic fashion, such links as Bluetooth which is designed for slow but energy-efficient communication are preferred. Indeed, today most wearable devices adopt Bluetooth as the primary communication link. However, even when the amount of the data exchanged is small, energy consumption can be substantial for the following reason. Typically, when there is no traffic on a wireless link, the connection is closed and the link enters a sleep mode. To resume communication, connection establishment is needed before starting data transmission. Generally, communication over a wireless link (including Bluetooth) is conducted in three steps : connection setup, data transmission/reception and connection close. The cost of connection setup and close is always involved regardless of the amount of the data transmitted. For example, in Bluetooth Classic link, the connection setup and connection close accounts for 86% of the energy consumption for a single packet transmission [2], [3], [4]. Similar observations are reported for other technologies, e.g., Bluetooth Low Energy [5], [6] and cellular links [7], [8].

In particular, the issue of when to close the connection is crucial. Most wireless links typically adopt the so-called ‘tail state’ approach, in which the link is not released for a certain duration after the completion of current transmission. It is to avoid connection setup/close cost for possible subsequent transmissions. Ideal duration for tail state will be different for different technologies because the cost for connection setup/close and traffic pattern are different. For example, the connection setup time of cellular link is long, therefore long tail time is typically chosen [7], [8]. Using the same tail time for the Bluetooth link will lead to energy inefficiency. The tail time of Bluetooth link is far shorter than that of cellular links.

Since connection establishment/close (and the mode change between sleep and active modes) are expensive in terms of delay and energy consumption, it is desirable to reduce such actions particularly for energy-constrained devices. In this paper, we propose to aggregate (i.e., postponing and buffering) multiple data transmissions into a single transmission of an aggregated chunk, which we call data bundling. Fig. 1 illustrates how data bundling works when a smart watch (i.e., energy-constrained device) is connected to a smart phone. Connection setup, data transmission and connection close are denoted by S, T and C respectively, in Fig. 1. Suppose that there are three transmissions from the smart watch to the smart phone. The total energy consumption becomes 3(S+T+C) without data bundling. With data bundling it decreases to S+3T+C since only one transmission occurs at the end of the bundling duration. The saving is 2(S+C) in this scenario.

Long bundling duration allows higher energy saving at the expense of extended data delivery delay. It is because the delivery of the packets bundled is delayed until the end of the bundling duration. Therefore, energy saving and data delivery delay are in a trade-off relationship which is governed by the choice of bundling duration.

Fig. 2 illustrates three possible cases. In case of too-long bundling duration, it ends long after the generation of the last packet to be bundled. As a result, ‘superfluous duration’ occurs before the end of the bundling duration, which leads to unnecessary extension of data delivery delay and causes extra energy consumption since the activation of sleep mode is delayed. In case of too-short bundling duration, it ends before the generation of the last packet to be bundled. Since an extra transmission is required, the energy consumption for connection setup and close will be doubled. Ideally, the bundling duration should be exactly aligned with the generation of the last packet to be bundled.

The prediction of the desirable bundling duration requires accurate estimation of future traffic generation. Fig. 3 illustrates the generation of packets by multiple heterogeneous applications running simultaneously. From the viewpoint of the communication link, the last row is the overall transmission request pattern. The bundling duration may be chosen by analyzing this link level traffic pattern with being oblivious to which applications generate these traffic. In this paper, we look into the traffic characteristics of the applications currently running for the decision of the bundling duration.

To acquire the traffic generation pattern of each application, we adopt the ‘N-gram’ model, which is in essence a kind of (N-1)-order markov model. This model has been used to extract features (i.e., patterns) from data sequences. For example, suppose that a word sequence “I love you” is frequently used. By using a 2-gram model, a word sequence “love you” may be predicted when a word sequence “I love” occurs. We apply this method to predict the interval between the transmission requests. That is, the interval between packet generations corresponds to a word in the above example.

The proposed scheme is implemented as a transparent proxy, which requires no change of the underlying system. Our proxy, called ‘BProxy’ (Bundling Proxy), is located between the application layer and the transport layer. Currently BProxy is designed to perform bundling between one energy-constrained device and one mobile phone. BProxy intercepts the data transmission requests generated by the applications by using port-forwarding which is supported by most operating systems. Therefore, it can be easily implemented in virtually any device. For example, port-forwarding is supported by iptables1 in the Linux-based systems. In this paper, we implement BProxy in an Android OS device by using iptables. Meanwhile, the operation of iptables is not tied to a particular link technology. The outgoing link used for the transmission of bundled packets is only relevant at the last stage of BProxy. In other words, the bundled packets may be sent over any outgoing link chosen. Thus, our solution is applicable on any wireless links. For communication link, we applied and tested our solution on BLE and Bluetooth Classic. We focus on the Bluetooth Classic link, because it is mostly widely used link between smartphone and smartwatch. Extensive experimental evaluations are performed to assess the effectiveness of the proposed scheme.

This paper is organized as follows. In Section 2, the related works are summarized. In Section 3, we analyze the traffic generation pattern of real applications chosen from the Google Play Store. In Section 4, we present our algorithm to compute bundling durations. In Section 5, we describe the implementation of the BProxy. In Section 6, we experimentally evaluate the performance of the proposed scheme. The paper concludes with Section 7.

Section snippets

Related works

Batched synchronization for cloud storage services

The concept of data bundling has been applied for batched synchronization of cloud storage services. Since each data synchronization transaction involves control overhead traffic between a user station and the cloud storage, synchronization is not performed immediately when data change occurs, but is executed periodically or when the amount of modified data exceeds a certain threshold. In other words, data synchronization is delayed and bundled.

Traffic interval distribution of real applications

To understand the property of application traffic generation, we analyze the traffic generation of various real applications. 29 Android applications across 8 application categories2 are chosen from the Google Play store of South Korea. For each application, traffic generation trace is obtained during the application loading on the system. During this process, no human interaction such like ‘touching’ the screen is

N-gram based bundling algorithm

We decide the bundling duration by adapting to the traffic generation pattern of currently running applications. The N-gram model is used for predicting the future traffic generation, which is a type of (n-1)-order Markovmodel. Formally, a n-gram denotes a n-word sequence: (i1,i2,,ik,,in) where ik is the kth word. Generalization is given in the following. 1-gram (unigram):{(i1),(i2),}2-gram (bigram):{(i1,i2),(i2,i3),}n-gram:{(i1,,in),(i2,,in+1),}

It has been widely used to predict the

Implementation of the proposed scheme

The proposed scheme is implemented in a form of proxy, called BProxy. BProxy runs on both the energy-constrained device (e.g., smart watch) and its server (e.g., smart phone), one in the sender-mode, the other in the receiver-mode. BProxy is located between the applications and the OS kernel. In the sender-mode, BProxy intercepts and buffers all the packets generated by the applications. At the end of each bundling duration, a bundled packet is sent to the receiver. When the bundled packet is

Experiment setting

We evaluate the performance of the proposed scheme by using a experiment testbed shown in Fig. 15. In the testbed, an energy-constrained device is connected to a smartphone via a Bluetooth Classic Link. Both devices run Android 5.1.1 OS. A Monsoon Power Monitor [23] is hooked up to the energy-constrained device to measure its energy consumption. Bundling is performed at the energy-constrained device and unbundling is performed at the smartphone.

In the experiment, real applications which are

Conclusion

In this paper, we have proposed a novel scheme for data bundling to reduce the energy consumption of communication. Our scheme adopts the n-gram algorithm to learn and exploit the traffic generation pattern for the adaptive decision of the bundling duration. In particular, the traffic generation of each application is considered individually, so that our scheme is effective even in case various heterogeneous applications are mixed. The proposed scheme is implemented in a form of transparent

Acknowledgment

This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIP) (No. NRF-2016R1A2B4014505).

References (27)

  • LiuH. et al.

    Combined mining of web server logs and web contents for classifying user navigation patterns and predicting users future requests

    Data Knowl. Eng.

    (2007)
  • PantelopoulosA. et al.

    A survey on wearable sensor-based systems for health monitoring and prognosis

    Syst., Man, Cybern., Part C: Appl. Rev., IEEE Trans.

    (2010)
  • EkstromM.C. et al.

    A bluetooth radio energy consumption model for low-duty-cycle applications

    IEEE Trans. Instrum. Meas.

    (2012)
  • PerrucciG.P. et al.

    Survey on energy consumption entities on the smartphone platform

  • SungJ.-W. et al.

    Data bundling for energy efficient communication of wearable devices

  • SiekkinenM. et al.

    How low energy is bluetooth low energy? Comparative measurements with zigbee/80215 4

  • S. Kamath, J. Lindh, Measuring bluetooth low energy power consumption, in: Texas Instruments Application Note AN092,...
  • BalasubramanianN. et al.

    Energy consumption in mobile phones: A measurement study and implications for network applications

  • ZhangD. et al.

    Leveraging the tail time for saving energy in cellular networks

    IEEE Trans. Mob. Comput.

    (2014)
  • LiZ. et al.

    Coarse-grained cloud synchronization mechanism design may lead to severe traffic overuse

    Tsinghua Sci. Technol.

    (2013)
  • LiZ. et al.

    Efficient batched synchronization in dropbox-like cloud storage services

  • DragoI. et al.

    Inside dropbox: Understanding personal cloud storage services

  • DragoI. et al.

    Benchmarking personal cloud storage

  • Cited by (1)

    • Measuring power consumption in mobile devices for energy sustainable app development: A comparative study and challenges

      2021, Sustainable Computing: Informatics and Systems
      Citation Excerpt :

      Presently there are various studies on reducing the power consumption in mobile apps to increase sustainability. These studies mainly focus on resource leaks [7], code smells [8], testing [9], and bundling HTTP requests [10,11]. Similarly, OSs and popular apps such as WhatsApp and Facebook also provide a dark mode [12] to reduce the power consumption of the device.

    View full text