An Application Layer Protocol for Energy-Efficient Bandwidth ...

3 downloads 238527 Views 3MB Size Report
Devices n2, n4, n5 and n7 are laptops, and ... section, we will address all challenges by designing an .... Our experiments are performed on SAMSUNG Galaxy.
1

An Application Layer Protocol for Energy-Efficient Bandwidth Aggregation with Guaranteed Quality-of-Experience Zaiyang Tang, Zirui Wang, Peng Li, Member IEEE, Song Guo, Senior Member, IEEE, Xiaofei Liao, Member, IEEE, and Hai Jin, Senior Member, IEEE Abstract—WiFi and cellular networks are pervasively provided for mobile Internet access. Although most existing mobile devices are equipped with both WiFi and cellular network interfaces, concurrent data transmissions over these interfaces for improved throughput are not provided. In this paper, a bandwidth aggregation prototype, named ALP-A (Application Layer Protocol based Aggregation), is developed for easy use by simply installing an application in mobile devices without modifing their operating systems or drivers. It provides desired quality-of-experience (QoE), i.e., acceptable response delay to users, learned from application characteristics and users behaviors. Furthermore, we propose an online algorithm of traffic scheduling over WiFi and cellular interfaces with the objective of minimizing energy consumption while guaranteeing the QoE. Over the prototype implemented on Andriod-based smartphones, we conduct extensive experiments to show that ALP-A outperforms existing schemes significantly. Index Terms—Application Layer Protocol, Bandwidth Aggregation, Quality-of-Experience, Energy Efficiency

F

1

I NTRODUCTION

The increasing popularity of wireless devices and availability of radio access technologies (e.g., WiFi, Bluetooth, 3G and LTE) are stimulating various new mobile services [1]. Modern mobile devices, e.g., smartphones and tablets, are usually equipped with multiple network interfaces, such as WiFi and 3G, which imply the opportunities of multipath communication with improved throughput on a single device. However, existing mobile devices do not exploit such a great potential because they just simply activate a single network interface for data transmission. For example, the 3G-interface of smartphones with Android operating system will be automatically turned off when WiFi connection is available. Bandwidth aggregation [2]–[4] is a promising technique for throughput enhancement by allowing concurrent data transmission over multiple network interfaces as shown in Fig. 1, where a mobile device accesses the Internet via a WiFi access point and a 3G base station simultaneously. However, existing bandwidth aggregation solutions are far from providing efficient and practical solutions for mobile users because of the following weaknesses. First, they are implemented in lower layers of the network protocol stack, such as network or link layer, relying on the modification on operating systems or device drivers. To enjoy the benefits of bandwidth aggregation, users need to reinstall the operating system, Z. Tang, Z. Wang, X. Liao, and H. Jin are with the Services Computing Technology and System Lab, Cluster and Grid Computing Lab, School of Computer Science and Technology, Huazhong University of Science and Technology, China. E-mail: {tangzaiyang, m201172464, xfliao, hjin}@hust.edu.cn P. Li and S. Guo are with the School of Computer Science and Engineering, The University of Aizu, Japan. E-mail: {pengli, sguo}@u-aizu.ac.jp

Fig. 1. Bandwidth aggregation.

which would be time-consuming or even impossible for common users without expertise. Second, the variability of link quality in both 3G and WiFi networks is ignored. Mobile devices need to contend for network access opportunities in such networks without any performance guarantee. The more devices exist in the network, the lower throughput can be achieved by each device. As mobile users join or leave the network, the achievable transmission rate of WiFi and 3G interfaces in each device may change, and such influence has not been studied. In this paper, we develop a bandwidth aggregation prototype at the application layer, named ALP-A (Application Layer Protocol based Aggregation), by taking dynamics of wireless links into consideration. Specifically, we consider mobile devices equipped with both WiFi and 3G network interfaces, and each device has a batch

2

of downloading requests that arrive in an online manner. To guarantee a certain level of quality-of-experience (QoE), ALP-A specifies a deadline for each request according to the characteristics of applications and user behaviors. To satisfy these downloading requests, we propose an online algorithm to dynamically schedule data transmission on both network interfaces. In particular, energy efficiency is pursued in our design because mobile devices are usually powered by batteries with limited capacity. While energy saving for mobile device has been intensively studied, the energy consumption in bandwidth aggregation has not been addressed. In our proposed design, data transmissions are made on both WiFi and 3G interfaces in an energyefficient manner while the QoE constraints are guaranteed. The main contributions of this paper are summarized as follows. • We develop an application layer protocol called ALP-A for bandwidth aggregation of WiFi and 3G wireless links. • We propose an online algorithm for data transmission over both network interfaces with the objective of minimizing energy consumption while guaranteeing user experiences. • We implement ALP-A on real devices, and evaluate its performance by conducting extensive experiments. The rest of paper is organized as follows. Section 2 reviews some important related work. Section 3 discusses the background and motivation. The detailed design of ALP-A is presented in Section 4. Section 5 proposes an online scheduling algorithm called E-schedule. Section 6 shows the effectiveness of our proposal with experiments on real devices. Finally, Section 7 concludes the paper.

2

R ELATED

WORK

2.1 Bandwidth aggregation solutions over different layers Bandwidth aggregation can be addressed at different layers of the network protocol stack [5]. Early work on application layer bandwidth aggregation is based on multiple logical channels on the same network interface, such as XFTP [6] and Grid FTP [7]. PSockets [8] creates multiple parallel sockets to transmit data over multiple logical TCP connections. However, these approaches use only a single physical interface, and their performance is limited by the available bandwidth offered by the interface. Kaspar et al. [9] [10] [11] have exploited the benefits of using multiple Internet connections for multimedia streaming applications on mobile devices. However, a general bandwidth aggregation approach for all applications has not been considered. Some work exploits bandwidth aggregation at the transport layer by reducing unnecessary retransmissions [12] [13]. As a widely adopted transport layer protocol,

Stream Control Transmission Protocol (SCTP) provides little bandwidth aggregation support for TCP applications. Hsieh et al. [14] [15] have proposed a virtual pipe concept to provide bandwidth aggregation for TCP applications. The multi-path TCP (MPTCP) has been proposed by a working group formed from Internet Engineering Task Force (IETF) recently [16], which aims to enhancing the application performance through Path Diversity mechanism. Chen et al. [17] [18] have shown the feasibility of using MPTCP for mobile devices in WiFi/Cellular networks. Although they attempt to avoid the modification of existing Internet infrastructure, their implementation still needs to revise operating system kernel. Bandwidth aggregation at the network layer has been studied in [5], [19]–[21]. Their basic idea is to offer packet level traffic distribution over multiple network interfaces. At the data link layer, multiple links can be bundled into a single logical communication link, which shows high utilization of the aggregated capacity [22]–[24]. However, above solutions are difficult to be implemented for mobile devices in wireless networks. 2.2

Energy efficiency of mobile devices

The energy efficiency of mobile devices has been extensively investigated in recent years. In [25], the energy consumption of mobile devices in different environments of 3G and WLAN is considered. The authors have proposed a mathematical model, e-Aware, considering two energy consumption elements: signaling and media transfers, to estimate how application layer protocol properties affect the energy consumption of mobile devices. Activating multiple network interfaces of a mobile device simultaneously incurs more power consumption. Chowdhury et al. [26] present an efficient interface selection scheme. Mahkoum et al. [27] present a framework with power-efficient management from a global point of view. The basic idea behind is to power off the idle interface but at the same time to keep it in virtual idle mode in the network by extending IEEE 802.21 on both mobile node and network side. Chen et al. [18] consider the balance between energy consumption and throughput of devices using MPTCP.

3

BACKGROUND

AND MOTIVATION

3.1 Bandwidth aggregation based on application layer protocol In this paper, bandwidth aggregation is exploited at the application layer to support different application protocols such as HTTP and RTP. The major benefit of such approach is no need to modify the protocol stack. Furthermore, the information of upper applications can be easily obtained and used to adjust the utilization of multiple interfaces according to user experience.

3

Q

Q

Q

Average throughput per device (KB/s)

Q

Q Q

$3

$3 䢳䣯 Q

Q

1AP

1000

2APs

800

600

400

200

0

1c

2c

3c

4c

5c

6c

7c

8c

9c

10c

Number of clients in AP1

Q

Q

Fig. 2. Layout of nodes and APs

3.2 Contention and interference in WiFi Because of the CSMA/CA mechanism adopted by 802.11 standard [28], increasing the number of wireless devices inevitably aggravates contention and interference, leading to decreased network performance. We show this phenomenon by measuring the throughput in WiFi networks with different number of mobile devices. We consider a wireless network consisting of two wireless routers as access points (APs) and ten mobile devices, whose locations are shown in Fig. 2. The wireless routers connect to the Internet via ADSL (Asymmetric Digital Subscriber Line) with 8Mbps downlink bandwidth. Devices n2 , n4 , n5 and n7 are laptops, and the rest are smartphones. All mobile devices connect to wireless routers based on the 802.11b/g protocol. In our experiments, each device runs video watching through an online video website Youku (http://www.youku.com/) as traffic workload. The average throughput under different number of devices is shown in Fig. 3. We observe that the average throughput decreases sharply as the number of devices in the network grows. For example, when a single device is active in the network, the average throughput achieves nearly 1000KB/s, while it drops to 400KB/s when two devices are active. Moreover, the interference between two APs is negligible when the channel mode of both AP1 and AP2 is set to auto. Above results motivate us to take the variation of network link quality into consideration in our protocol design. 3.3 Energy consumption of Cellular and WiFi WiFi and 3G interfaces have different energy consumption characteristics. According to 3GPP regulations [29], a Radio Resource Control (RRC) protocol specifies three states: IDLE, DCH, and FACH, for 3G network interface, which indicate idle channel, dedicated channel and

Fig. 3. Average per-device throughput v.s. the number of devices forward access channel, respectively. During data transmission, the 3G-interface is in the DCH state with high energy consumption. After data transmission, it remains in DCH for about 5 seconds, then changes to FACH for about another 5 second, and eventually switches to IDLE. In contrast, the WiFi-interface switches to idle state immediately after the completion of data transmission. The power consumption modeling and measurement [30], [31] reveal that LTE and 3G are less power efficient than WiFi. Generally, 3G and LTE are more energyintensive compared with WiFi.

4 4.1

S YSTEM

DESIGN

Design objectives

Towards an efficient design, we target several important objectives as follows. (1) Simplicity. ALP-A should be easy to use such that users can enjoy the benefits of bandwidth aggregation by simply installing an application in their mobile devices. For this purpose, the implementation of ALP-A should be independent of operating system and network protocol stack. (2) Quality-of-Experience (QoE). ALP-A receives communication requests from applications with various QoE requirements. For example, even a bit longer delay in loading CSS and JavaScript for web browsing would seriously degrade user-experience, while buffering in video playing can tolerate a certain level of latency. To guarantee QoE, ALP-A should schedule the requests on two interfaces to guarantee their deadlines specified by applications. (3) Energy efficiency. Activating multiple network interfaces imposes a great challenge for energy efficiency of mobile devices powered by batteries with limited capacity. When there is no communication request, network interfaces should be in low-power states. When communication requests arrive, ALP-A needs to determine

4

Application 1

Application 2



U

U

2ULJLQDOUHTXHVWV

U

U䣹





UQ Data recorder

U䣹

U䣹

Application 3



:L)L

U䣥 

U䣥

&HOOXODU



U䣥 

Fig. 5. An example of request partition.

Scheduler 1

Original request

Original response

Partitioning

Combination

2

4

Buffer pool Sub-requests Rq1

Rq2

Rq3

3

...

5

Sub-responses Rqn

Rp1

Rp2

Rp3

...

Rpn

Scheduling

Interface switch

OS Interface 1

Interface 2

Fig. 4. Application-layer aggregation framework which interface should be activated for data communication. The different energy consumption features of WiFi and 3G interfaces should be exploited in ALP-A to reduce energy consumption while guaranteeing userexperience. All above objectives are closely related. In the next section, we will address all challenges by designing an applicant layer protocol for bandwidth aggregation. 4.2 ALP-A: protocol design ALP-A receives communication requests from applications and dispatch them to different network interfaces. Meanwhile, ALP-A takes charge of caching responses from lower layers, which will be then delivered to applications. As illustrated in Fig. 4, ALP-A is composed of three modules: data recorder, scheduler and interface switch. The interface switch is used to control the activation of multiple interfaces. Recall that the Android OS will turn off 3G-interface automatically when WiFi connection is

available. To implement bandwidth aggregation without modifying OS, ALP-A specifies multiple interfaces with different IP addresses. To realize the requests partitioning and scheduling, the data recorder module is responsible to acquire the current transmission rate and to predict the rate in the next time slot. The scheduler is the core component of ALP-A. The details of its workflow and implementation are presented as follows. 1. Original request caching. ALP-A caches data transmission requests, such as GET of HTTP requests, from applications. For this purpose, ALP-A first enables a listener port, to which all packets are redirected. Then, it listens to this port for any request that will be further processed by the request partitioning component. 2. Request partition. ALP-A partitions each original request into several sub-requests. An example of request partition is shown in Fig. 5, where requests are divided into sub-requests to be scheduled over WiFi or 3G interface. To implement request partition, we modify the “Range” field in the header of HTTP request, which indicates a range of data to be downloaded. For example, “Range:bytes=0-100” means that the first 100 bytes of the file are requested. If the request is correctly processed by remote servers providing network services, a response with a state code 206 instead of 200 is returned. For example, a HTTP response with a header ”Content-Range: byte 0-100/2350” means that this response contains the first 100 bytes of the requested file with total 2350 bytes. 3. Sub-requests scheduling. ALP-A uses the APIs (Application Programming Interfaces) provided by the operating system to schedule sub-requests to available network interfaces with the objective of reducing energy consumption while guaranteeing user-experience. The detailed design of our scheduling algorithm will be presented in the next section. 4. Sub-responses buffering. ALP-A buffers all subresponses returned from remote servers in a pool that is realized using binary heap. Since the sub-responses should be assembled into responses of the corresponding original requests, we use a hash table to facilitate such process. Specifically, the key of the hash table is the original response, and the associated value is a list of subresponses sorted in a non-descending order according to their deadlines. 5. Response assembly. ALP-A combines several sub-

5

responses into a response, and delivers it to applications. To deal with the instability of wireless networks, ALPA provides a fault-tolerant mechanism for response delivery. Specifically, each sub-request has a retransmission index that is initialized to be zero. If there is a transmission error, we increase the index, and reset the corresponding request in the transmission queue. When the retransmission index reaches the threshold (e.g., 10 in our experiments), we set the interface to be unavailable. Accordingly, all requests in the associated queue will be delivered over another interface. Note that the request-scheduling algorithm plays an important role in ALP-A because it determines which interface should be active, and how long it be active for data transmission.

The total energy consumption can be calculated by (1). The capacity constraints of WiFi and 3G interfaces are represented by (2) and (3), respectively. Finally, each request should be satisfied within [ak , dk ], which is represented by (4). Although above linear programming can be easily solved within polynomial time, it fails to be applied in practical scenarios where request arrivals and interface capacities are unknown in the beginning of each time slot. However, it provides some insight about the energy minimization problem, i.e., fully exploiting the capacity of low-power WiFi-interface while minimizing usage of high-power 3G-interface to achieve low energy consumption. It motivates us to design an online algorithm in the next section.

5 E-S CHEDULE : ENERGY - AWARE ING ALGORITHM

5.2

SCHEDUL -

In this section, we present an online algorithm, which is referred to as E-Schedule, to schedule requests on WiFi and 3G interfaces with the objective of minimizing energy consumption while guaranteeing QoE. The problem statement is first given, followed by the online algorithm design. 5.1 Problem statement We consider a mobile device equipped with both WiFi and 3G interfaces. The throughput of WiFi and 3G interfaces is estimated on each time slot t, denoted as V w (t) and V c (t), respectively. The energy consumption of a unit data transmission through WiFi and 3G interfaces is denoted by α and β, respectively. Typically, we have α < β [25]. The applications on the mobile device issue a set of downloading requests, denoted by {r1 , r2 , r3 , ...}, in an online manner. For each request rk that arrives at time ak , the associated data with size mk should be downloaded before a deadline dk to guarantee a certain level of QoE. Note that ALP-A would divide each request into several sub-requests that will be satisfied c at different time slots. Let mw k (t) and mk (t) denote the data downloaded for request rk at time slot t via WiFi and 3G interfaces, respectively. Given a set of n requests and the achievable transmission rate of each network interface within time period [1, T ], the energy minimization problem can be formulated as: min E, subject to: c (α · mw k (t) + β · mk (t)); t=1 k=1 n ∑ mck (t) ≤ V c (t), ∀1 ≤ t ≤ T ; k=1 n ∑ w mw k (t) ≤ V (t), ∀1 ≤ t ≤ T ; k=1 mck (t) + mw k (t) = mk , ∀1 ≤ k ≤ n.

E=

∑ t∈[ak ,dk ]

T ∑ n ∑

(1) (2) (3) (4)

Algorithm design

To deal with the challenges of online request arrival and network dynamic, we propose a heuristic algorithm called E-Schedule to minimize energy consumption while guaranteeing the QoE of all requests. The E-Schedule algorithm is executed at the beginning of each time slot. Its basic idea is to give higher priority to requests with earlier deadlines. The bandwidth of WiFi-nterface is always fully exploited, while the 3Ginterface is activated only if there are requests that cannot be satisfied expectantly with only WiFi-interface. The pseudo code of E-Schedule algorithm is shown in Algorithm 1 below. Algorithm 1 The E-Schedule Algorithm 1: sort requests in current time slot according to their deadlines in a non-descending order, i.e., dσ1 ≤ dσ2 ≤ ...; 2: measure the transmission rate V w (t) and V c (t); 3: C w (t) = V w (t), C c (t) = V c (t); 4: for each request in the sorted order do 5: if mσi (t) ≤ C w (t) then 6: download mσi (t)-unit data of request rσi via WiFi-interface; 7: C w (t) = C w (t) − mσi (t); 8: mσi (t) = 0; 9: else 10: download C w (t)-unit data of request rσi via WiFi-interface; 11: C w (t) = 0; 12: mσi (t) = mσi (t) − C w (t); 13: V w (t + 1) = δV w (t) + (1 − δ)V w (t − 1); 14: if mσi (t) > (dσi − t)V w (t) then 15: m = min{C c (t), mσi (t)}; 16: download m-unit data via 3G-interface; 17: C c (t) = C c (t) − m; 18: mσi (t) = mσi (t) − m; 19: end if 20: end if 21: end for

6

TABLE 1 Details of test sites

Fig. 6. Equipments used in experiments.

In Algorithm 1, all requests at the current time slot t are sorted according to their deadlines in a nondescending order, and the results are maintained in σ as shown in line 1. We measure the achievable transmission rates of WiFi and 3G interfaces, i.e., V w (t) and V c (t). The residual capacity of WiFi and 3G interfaces is maintained in variables C w (t) and C c (t), which are initialized to V w (t) and V c (t), respectively. After that, we consider to assign the requests to network interfaces according to order σ in the for loop from line 4 to 20. For any request rσi , if its residual data mσi (t) is no greater than the capacity of WiFi-interface, we download it using only WiFi network, and update C w (t) and mσi (t) in lines 6 to 8. Otherwise, we fully exploit the residual capacity of WiFi-interface as shown in lines 10 to 12. Furthermore, we estimate the future transmission rate of WiFi by taking the rates of current and previous time slots into consideration. Specifically, we use the method of moving average with parameter δ for estimation as shown in line 13. If the amount of mσi (t)-unit data of request rσi cannot be satisfied by the expected WiFirate V w (t + 1) before its deadline, we activate the 3Ginterface for data transmission. Finally, we update C c (t) and mσi (t) in lines 17 and 18.

6

E XPERIMENTS

6.1 Experiments design Our experiments are performed on SAMSUNG Galaxy Wonder smartphones with operating system of Android 2.3.3. Android supports several APIs to show the operating voltage and remaining battery capacity. To measure the energy consumption, we use an external DC power supply on 3.8V, and calculate the power according to the current. The equipments used in our experiments are shown in Fig. 6. Two typical wireless networks are used for performance evaluation. One is a WiFi network with 10Mbp-

Label

Web site (url)

Requests

CSS/JavaScript

1

Sina (www.sina.com.cn)

328

93

2

163 (www.163.com)

277

65

3

Yahoo (www.yahoo.com)

215

42

4

BBC (www.bbc.co.uk)

95

30

5

CNN (edition.cnn.com)

128

28

s maximum bandwidth, and the other is a 3G network using WCDMA technology. The average downlink throughput of WiFi and 3G is 500KB/s and 300KB/s, respectively. In addition to our proposed E-schedule (ES) algorithm, we consider comparison algorithms in our experiments, denoted as follows. • 3G: only 3G network interface is allowed for data transmission, i.e., V w (t) = 0 under any time slot t in Algorithm 1. • WiFi: only WiFi network interface is allowed for data transmission, i.e., V w (t) = 0 under any time slot t in Algorithm 1. • GRD: a greedy scheduling algorithm, in which each request is satisfied upon its arrival. Note that the 3Ginterface will be activated if the transmission rate of WiFi network interface is not enough to satisfy the requests. • OPP: an opportunistic scheduling algorithm proposed in [32], which improves the greedy scheduling by taking the dynamic channel condition into consideration. In our experiments, we consider two typical applications: web browsing and streaming media playing. In web browsing, we use the default browsing system to load 5 websites as shown in Table 1. For example, 328 requests are issued to load the homepage of Sina (www.sina.com.cn), among which there are 93 requests belonging to Cascading Style Sheets (CSS) or JavaScript elements. In streaming media playing, we watch 5 videos at youku (http://www.youku.com), which is an online video website similar to YouTube. All results are averaged over 20 sets of experiments. 6.2

Results and analysis

We first investigate the energy efficiency of different algorithms. As shown in Figs. 7 and 8, WiFi has the minimum energy consumption under all scenarios, while 3G always leads to the worst energy performance. Since both network interfaces are exploited by GRD, OPP and E-S, their performance is bounded by these two extreme cases. Specifically, for web browsing as shown in Fig. 7, E-S performs closely to WiFi, and better than GRD and OPP by saving 16% and 15.8% energy consumption, respectively. A similar phenomenon can be observed under the video watching application as shown in Fig. 8.

7

GRD Power (mW)

70 65 60 55 50 45 40 35 30 25 20 15 10 5 0

W iFi 3G GRD OPP

80 60 40 20

E-S

0

5

10

15

20

25

30

35

40

45

30

35

40

45

30

35

40

45

Time (s) OPP 100

Power (mW)

Energy consumption(J)

100

80 60 40 20 0

1

2

3

4

5

10

15

20

25

Time (s)

5

W eb site

E−S

Fig. 7. Energy consumption of different methods in web browsing

Power (mW)

100 80 60 40 20

0

5

10

15

20

25

Time (s)

700 650

W iFi

600

3G GRD OPP

500

E-S

450

GRD 4000

400

Power (mW)

Energy consumption (J)

550

Fig. 9. Real-time power consumption in web browsing (www.sina.com.cn)

350 300 250 200

3000 2000 1000

150

0

10

20

30

40

50

50

70

80

90

100

110

120

70

80

90

100

110

120

70

80

90

100

110

120

OPP

1

2

3

4

5

Video

Fig. 8. Energy consumption of different methods in video playing

4000

Power (mW)

0

60

Time (s)

100

3000 2000 1000

0

10

20

30

40

50

60

Time (s) E−S

We also notice that ALP-A exhibits different performance in web browsing and streaming media playing. For web browsing, there are various requests (e.g., CSS, JavaScript, Html, pictures, etc.) with different data size and QoE requirements. Since CSS and JavaScript have more influence on pages rendering, these requests impose close deadlines. On the other hand, highthroughput and continuous connection should be ensured in streaming media playing. Therefore, both interfaces are activated at the beginning to realize that playing starts faster. The real-time power consumption in web browsing and video watching is shown in Figs. 9 and 10, respectively. In Fig 9, we observe that the period of high power state under E-S is shorter than the other two algorithms. For example, E-S stays in a low power state until the 7th second while energy consumption of others increases from the 5th and 6th second. Furthermore, E-S switches back to a low power state a little earlier than others. Similarly, as shown in Fig. 10, E-S finishes all data

Power (mW)

4000 3000 2000 1000

0

10

20

30

40

50

60

Time (s)

Fig. 10. Real-time power consumption in video playing

transmissions within 100 seconds, while GRD and OPP need 110 seconds and 105 seconds, respectively. We also show the energy consumption of different algorithms during a long-running test by issuing a series of HTTP requests with different sizes for an hour. As shown in Fig. 11, although the performance gap among these algorithms is not obvious in the beginning, E-S saves about 30% and 21% battery power of GRD and OPP, respectively, after an hour. Due to bandwidth dynamic of both network interfaces, some requests may not be satisfied within their

8

100 WiFi GRD OPP E−S

90

25

Rendering time Loading time

80

Time (s)

Battery level (%)

20

70

60

50

15

10

40 5

30

0

20 0

500

1000

1500

2000

2500

3000

3500

WiFi

Time (s)

Fig. 11. Energy consumption in a one-hour test

3G

GRD

OPP

E-S

Fig. 13. Completion time and rendering time over different methods in web browsing (www.sina.com.cn)

18 W iFi

30

GRD OPP

14

GRD OPP E−S

E-S

12

25

10 3G utilization per slot (KB)

Requests miss deadline (%)

16

8 6 4 2 0

1

2

3

4

20

15

10

5

W eb site

Fig. 12. Number of requests completed upon deadline over different methods deadlines. We show the percentage of requests missing their deadlines under different algorithms in Fig. 12. Although WiFi always has the minimum energy consumption as we observe in Fig. 7, there are over 10% requests that cannot be finished within their deadlines. On the other hand, the corresponding percentages of other algorithms are all under 5%. We compare the loading time and rendering time for web browsing (www.sina.com.cn) under different algorithms. The loading time is defined as the total time of satisfying all requests (328 requests as shown in Table 1) belonging to the web page. The rendering time is the time of delivering only CSS and JavaScript elements (93 elements as shown in Table 1). Compared with loading time, rendering time has greater effect on QoE because mobile users are sensitive to CSS and JavaScript elements as the main contents of web pages. As shown in Fig. 13, the GRD, OPP and E-S algorithms exploiting both network interfaces have shorter loading time and rendering time. Furthermore, although E-S has longer loading timer than GRD and OPP, it has similar rendering time with them, demonstrating that mobile

5

0 0

100

200

300

400

500

600

700

800

900

1000

WiFi throughput (KB/s)

Fig. 14. 3G utilization over different WiFi throughput.

users can hardly be aware of QoE differences under these algorithms. We investigate the 3G utilization of GRD, OPP and E-S under different WiFi transmission rate in Fig. 14. As WiFi rate decreases, 3G utilization grows under all algorithms because more data need to be delivered over 3G-interface to guarantee QoE. However, 3G utilization of E-S is always lower than GRD and OPP due to its awareness of energy efficiency. After request partition in ALP-A, the generated subrequests will be sent to lower layers (e.g., network layer and data link layer), where additional headers will be added. To evaluate the overhead of this process, we measure the ratio of additional header size and original data size. We conduct five sets of experiments using randomly generated requests with different sizes. Specifically, we use large request size in the first two sets of experiments, and small size in the rest. As shown in Table 2, the ratio is less than 0.14% in all experiments.

9

TABLE 2 Overhead of ALP-A

7

No. of requests

Additional (Byte)

Original (Byte)

Ratio

104

6656

48712096

0.014% 0.008%

51

1920

23542334

1175

3392

3745042

0.09%

380

2112

1537925

0.137%

2043

4608

4396977

0.105%

C ONCLUSION

In this paper, we develop a bandwidth aggregation prototype, named ALP-A, at the application layer for mobile devices. An energy-aware scheduling algorithm called E-Schedule is proposed to reduce energy consumption while guaranteeing desired QoE. We implement ALPA in real mobile devices and conduct extensive experiments to evaluate its performance. Compared with two start-of-the-art solutions, our proposed algorithm can save about 16% energy under web browsing and video streaming applications while guaranteeing QoE.

ACKNOWLEDGEMENT This paper was partially supported by China National Natural Science Foundation under grant No. 61272408, 61322210, National High-tech Research and Development Program of China (863 Program) under grant No.2012AA010905, and Doctoral Fund of Ministry of Education of China under grant No. 20130142110048.

R EFERENCES [1] P. Bellavista, A. Corradi, and S. A. Malik, ”A survey of context data distribution for mobile ubiquitous systems,” ACM Computing Surveys (CSUR), vol. 44, no. 4, p. 24, 2012. [2] M. Yousaf, A. Qayyum, and S. A. Malik, ”An architecture for exploiting multihoming in mobile devices for vertical handovers & bandwidth aggregation,” Wireless Personal Communications, vol. 66, no. 1, pp. 57-79, 2012. [3] A. Bazzi, G. Pasolini, and O. Andrisano, ”Multiradio resource management: parallel transmission for higher throughput,” EURASIP journal on advances in signal processing, vol. 2008, no. 1, p. 763264, 2008. [4] A. Miu, J. G. Apostolopoulos, W.-t. Tan and M. Trott, ”Lowlatency wireless video over 802.11 networks using path diversity,” Proc. IEEE. International Conference on Multimedia and Expo (ICME’03), pp. II-441, 2003. [5] A. L. Ramaboli, O. E. Falowo, and A. H. Chan, ”Bandwidth aggregation in heterogeneous wireless networks: A survey of current approaches and issues,” Journal of Network and Computer Applications, vol. 35, no. 6, pp. 1674-1690, 2012. [6] M. Allman, H. Kruse, and S. Ostermann, ”An application-level solution to TCPs satellite inefficiencies,” Proc. The First International Workshop on Satellite-based Information Services (WOSBIS), 1996. [7] W. Allcock, J. Bester, J. Bresnahan, A. Chervenak, L. Liming, and S. Tuecke, ”GridFTP: Protocol extensions to FTP for the Grid,” Global Grid ForumGFD-RP, vol. 20, 2003. [8] H. Sivakumar, S. Bailey, and R. L. Grossman, ”PSockets: The case for application-level network striping for data intensive applications using high speed wide area networks,” Proc. IEEE. The 2000 ACM/IEEE conference on Supercomputing (CDROM), p. 37, 2000. [9] D. Kaspar, K. Evensen, P. Engelstad, A. F. Hansen, P. Halvorsen, and C. Griwodz, ”Enhancing video-on-demand playout over multiple heterogeneous access networks,” Proc. IEEE. 7th Consumer Communications and Networking Conference (CCNC), pp. 1-5, 2010

[10] D. Kaspar, K. Evensen, P. Engelstad, and A. F. Hansen, ”Using HTTP pipelining to improve progressive download over multiple heterogeneous interfaces,” Proc. IEEE. International Conference on Communications (ICC), pp. 1-5, 2010. [11] K. Evensen, D. Kaspar, C. Griwodz, P. Halvorsen, A. Hansen, and P. Engelstad, ”Improving the performance of quality-adaptive video streaming over multiple heterogeneous access networks,” Proc. ACM. The second annual ACM conference on Multimedia Systems, pp. 57-68, 2011. [12] J. R. Iyengar, P. D. Amer, and R. Stewart, ”Concurrent multipath transfer using SCTP multihoming over independent end-to-end paths,” IEEE/ACM Trans. Networking, vol.14, no.5, pp. 951-964, 2006. [13] H. Adhari, T. Dreibholz, and M. Becke, ”SCTP socket API extensions for concurrent multipath transfer,” Draft-dreibholz-tsvwgsctpsocket-multipath-01, 2012. [14] H.-Y. Hsieh, K.-H. Kim, and R. Sivakumar, ”An end-to-end approach for transparent mobility across heterogeneous wireless networks,” Mobile Networks and Applications, vol. 9, no. 4, pp. 363-378, 2004. [15] H.-Y. Hsieh and R. Sivakumar, ”A transport layer approach for achieving aggregate bandwidths on multi-homed mobile hosts,” Wireless Networks, vol. 11, no. 1-2, pp. 99-114, 2005. [16] A. Ford, C. Raiciu, M. Handley, S. Barre, and J. Iyengar, ”Architectural guidelines for multipath TCP development,” IETF, Informational RFC, vol. 6182, pp. 2070-1721, 2011. [17] C. Paasch, G. Detal, F. Duchene, C. Raiciu, and O. Bonaventure, ”Exploring mobile/WiFi handover with multipath TCP,” Proc. ACM. The 2012 ACM SIGCOMM workshop on Celluar networks: operations, challenges, and future design, pp. 31-36, 2012. [18] S. Chen, Z. Yuan, and G.-M. Muntean, ”An energy-aware multipath-TCP-based content delivery scheme in heterogeneous wireless networks,” Proc. IEEE. Wireless Communications and Networking Conference (WCNC), pp. 1291-1296, 2013. [19] Y. Zhang, C. Wang, and Y. Gao, ”Weighted size-aware packet distribution for multipath live streaming,” Proc. IEEE. Communications (ICC’09), pp. 1-5, 2009. [20] K. Chebrolu, B. Raman, and R. R. Rao, ”A network layer approach to enable TCP over multiple interfaces,” Springer. Wireless Networks, vol. 11, no. 5, pp. 637-650, 2005. [21] K. Chebrolu and R. R. Rao, ”Bandwidth aggregation for realtime applications in heterogeneous wireless networks,” IEEE Trans. Mobile Computing, vol. 5, no. 4, pp. 388-403, 2006. [22] J. Sachs, ”A generic link layer for future generation wireless networking,” Proc. IEEE. International Conference on Communications (ICC’03), vol. 2, pp. 834-838, 2003. [23] G. P. Koudouridis, H. R. Karimi, and K. Dimou, ”Switched multiradio transmission diversity in future access networks,” Proc. IEEE. Vehicular Technology Conference (VTC’05), pp. 235-239, 2005. ¨ [24] G. P. Koudouridis, R. Aguero, E. Alexandri, J. Choque, K. Dimou, H. Karimi, H. Lederer, J. Sachs, and R. Sigle, ”Generic link layer functionality for multi-radio access networks,” IST Mobile and Wireless Communications Summit, 2005. [25] E. Harjula, O. Kassinen, and M. Ylianttila, ”Energy consumption model for mobile devices in 3G and WLAN networks,” Proc. IEEE. Consumer Communications and Networking Conference (CCNC’12), pp. 280-293, 2009. [26] M. Z. Chowdhury, Y. M. Jang, C. S. Ji, S. Choi, H. Jeon, J. Jee, and C. Park, ”Interface selection for power management in UMTS/WLAN overlaying network,” Proc. IEEE. Advanced Communication Technology (ICACT’09), pp. 795-799, 2009. [27] H. Mahkoum, B. Sarikaya, and A. Hafid, ”A framework for power management of handheld devices with multiple radios,” Proc. IEEE. Wireless Communications and Networking Conference (WCNC’09), pp. 1-6, 2009. [28] E. Ziouva and T. Antonakopoulos, ”CSMA/CA performance under high traffic conditions: throughput and delay analysis,” Elsevier. Computer Communications, vol. 25, no. 3, pp. 313-321, 2002. [29] 3GPP TR 37.804, http://www.qtc.jp/3GPP/Specs/37804-b00.pdf, 2006 [30] Balasubramanian N, Balasubramanian A, Venkataramani A. ”Energy consumption in mobile phones: a measurement study and implications for network applications,” Proc. ACM. The 9th ACM SIGCOMM conference on Internet measurement conference, pp. 280-293, 2009.

10

[31] J. Huang, F. Qian, A. Gerber, Z. M. Mao, S. Sen, and O. Spatscheck, ”A close examination of performance and power characteristics of 4G LTE networks” Proc. ACM. Mobisys, pp. 225-238, 2012. [32] X. Liu, E. K. Chong, and N. B. Shroff, ”A framework for opportunistic scheduling in wireless networks,” Elsevier. Computer Networks, vol. 41, no. 4, pp. 451-474, 2003.

Xiaofei Liao received his Ph.D. degree in computer science and engineering from Huazhong University of Science and Technology (HUST), China, in 2005. He is now a professor in the school of Computer Science and Engineering at HUST. He has served as a reviewer for many conferences and journal papers. His research interests are in the areas of system software, P2P system, cluster computing and streaming services. He is a member of the IEEE and the IEEE Computer society.

Zaiyang Tang received his BS degree from Huazhong University of Science and Technology, China, in 2011. He is a PhD candidate in Huazhong University of Science and Technology. His research interests include networking modeling, network virtualization, machine learning and recommendation system.

Zirui Wang received his BS degree from Chengdu University of Technology, China, in 2011, the MS degrees from the Huazhong University of Science and Technology. His research interests include mobile network and network virtualization.

Peng Li received his BS degree from Huazhong University of Science and Technology, China, in 2007, the MS and PhD degrees from the University of Aizu, Japan, in 2009 and 2012, respectively. He is currently an Associate Professor at School of Computer Science and Engineering, the University of Aizu, Japan. His research interests include networking modeling, cross-layer optimization, wireless sensor networks, cloud computing, smart grid, performance evaluation of wireless and mobile networks for reliable, energy-efficient, and cost-effective communications. He is a member of the IEEE.

Song Guo (M’02-SM’11) received the PhD degree in computer science from University of Ottawa, Canada. He is currently a Full Professor at School of Computer Science and Engineering, the University of Aizu, Japan. His research interests are mainly in the areas of protocol design and performance analysis for computer and telecommunication networks. He received the Best Paper Awards at ACM IMCOM 2014, IEEE CSE 2011, and IEEE HPCC 2008. Dr. Guo currently serves as Associate Editor of the IEEE Transactions on Parallel and Distributed Systems. He is in the editorial boards of ACM/Springer Wireless Networks, Wireless Communications and Mobile Computing, and many others. He has also been in organizing and technical committees of numerous international conferences, including serving as a General Co-Chair of MobiQuitous 2013. Dr. Guo is a senior member of the IEEE and the ACM.

Hai Jin is a Cheung Kung Scholars Chair Professor of computer science and engineering at the Huazhong University of Science and Technology (HUST) in China. He is now Dean of the School of Computer Science and Technology at HUST. Jin received his PhD in computer engineering from HUST in 1994. In 1996, he was awarded a German Academic Exchange Service fellowship to visit the Technical University of Chemnitz in Germany. Jin worked at The University of Hong Kong between 1998 and 2000, and as a visiting scholar at the University of Southern California between 1999 and 2000. He was awarded Excellent Youth Award from the National Science Foundation of China in 2001. Jin is the chief scientist of ChinaGrid, the largest grid computing project in China, and the chief scientist of National 973 Basic Research Program Project of Virtualization Technology of Computing System. Jin is a senior member of the IEEE and a member of the ACM. Jin is the member of Grid Forum Steering Group (GFSG). He has co-authored 15 books and published over 400 research papers. His research interests include computer architecture, virtualization technology, cluster computing and grid computing, peer-to-peer computing, network storage, and network security. Jin is the steering committee chair of International Conference on Grid and Pervasive Computing (GPC), Asia-Pacific Services Computing Conference (APSCC), International Conference on Frontier of Computer Science and Technology (FCST), and Annual ChinaGrid Conference. Jin is a member of the steering committee of the IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGrid), the IFIP International Conference on Network and Parallel Computing (NPC), and the International Conference on Grid and Cooperative Computing (GCC), International Conference on Autonomic and Trusted Computing (ATC), International Conference on Ubiquitous Intelligence and Computing (UIC).