Energy-efficient mobile data transport via online multi-network packet scheduling

17
Sustainable Computing: Informatics and Systems 1 (2011) 196–212 Contents lists available at ScienceDirect Sustainable Computing: Informatics and Systems journal homepage: www.elsevier.com/locate/suscom Energy-efficient mobile data transport via online multi-network packet scheduling , Aaron Coté a,1 , Adam Meyerson b , Brian Tagiku b,a Department of Computer Science, University of Southern California, United States b Department of Computer Science, UCLA, United States article info Article history: Received 7 January 2011 Received in revised form 29 April 2011 Accepted 11 May 2011 abstract We explore a novel online packet scheduling model related to energy-efficiency in mobile data trans- port. This model incorporates multiple networks with non-persistent connectivities where we only know which networks are available in the current timestep. When a packet arrives, it specifies a deadline and, for each network, a value it is worth if sent over that network. Our goal is to maximize the total value of packets we send by their deadlines. To encourage energy-efficiency, our model requires that packets have larger values for more energy-efficient networks. We demonstrate low-constant-competitive algo- rithms for this problem and several restrictions. We also provide lower bounds which closely match our competitive ratios and, under some restrictions, are tight. Lastly, we investigate the improvements in performance possible by adding a layer of packet/WiFi prediction to our model. © 2011 Elsevier Inc. All rights reserved. 1. Introduction The introduction of the smartphone has been a boon to modern productivity and personal entertainment. They provide telephony services, Internet connectivity and powerful computing all in a portable package. It is for this reason that they are quickly gaining popularity in the global mobile device market [9]. In fact, smart- phones are projected to dominate the U.S. mobile phone market in 2011 [6]; it is quite clear that their universality is fast approaching. Yet, all the new features offered by smartphones come at the cost of higher energy demands. Hence, energy-efficient methods are crucial to ensure prolonged battery life of the mobile device. It is particularly important that these energy-saving measures do not affect the performance of the device. In this work, we address energy-efficiency in perhaps the most attractive feature of a smart- phone – Internet connectivity. Smartphones typically have the ability to connect to the Internet either using the cellular network (e.g. 3G or GSM) or using a WiFi connection. WiFi connections are faster and spend less energy per bit sent when the connection is active [1]. However, mobile devices A preliminary version of this paper appeared in the Proceedings of the 1st Annual International Green Computing Conference (IGCC), pp. 175–187, 2010. Research supported by NSF CIF Grant CCF-1016540. Corresponding author. E-mail addresses: [email protected] (A. Coté), [email protected] (A. Meyerson), [email protected] (B. Tagiku). 1 This work was performed while Aaron was a Ph.D. student at UCLA. spend most of their time with an idle network connection during which time cellular connections are more energy efficient. Addi- tionally, cellular towers typically have much longer range than WiFi hotspots, offering a more persistent connection. For these reasons, most phones default to a cellular connection since they are idle for most of the time and require the user to select when they want WiFi connectivity. Recent works such as [7,14,17] have proposed that mobile devices be more proactive in Internet connectivity. These meth- ods explore energy-efficient ways to connect to a WiFi connection when available. This opportunistic WiFi connectivity reaps the ben- efits of WiFi during data transfer and of cellular connections during idle periods. However, this alone is not enough to ensure opti- mal energy usage; we should actively try to schedule as many data transfers as possible into a timeframe when WiFi connec- tivity is available. Doing this would also have the beneficial side effect of alleviating alarmingly high demands on cellular networks [15,16]. We address this scheduling problem at the network packet level using a novel variant of packet scheduling which we call 2-network packet scheduling. As in traditional packet scheduling, each packet is assumed to have unit length and we can send at most one packet per timestep. However, we extend the packet scheduling model by giving each packet two associated values: a value gained by sending the packet over a cellular connection and a value gained by sending over a WiFi connection. These values give a numerical interpreta- tion to the utility gained by successfully sending the packet per unit energy spent. Since WiFi connections are more energy efficient, this 2210-5379/$ – see front matter © 2011 Elsevier Inc. All rights reserved. doi:10.1016/j.suscom.2011.05.003

Transcript of Energy-efficient mobile data transport via online multi-network packet scheduling

Page 1: Energy-efficient mobile data transport via online multi-network packet scheduling

Es

Aa

b

a

ARRA

1

psppp2

caInep

ecb

I

b

2d

Sustainable Computing: Informatics and Systems 1 (2011) 196–212

Contents lists available at ScienceDirect

Sustainable Computing: Informatics and Systems

journa l homepage: www.e lsev ier .com/ locate /suscom

nergy-efficient mobile data transport via online multi-network packetcheduling�,��

aron Cotéa,1, Adam Meyersonb, Brian Tagikub,∗

Department of Computer Science, University of Southern California, United StatesDepartment of Computer Science, UCLA, United States

r t i c l e i n f o

rticle history:eceived 7 January 2011eceived in revised form 29 April 2011ccepted 11 May 2011

a b s t r a c t

We explore a novel online packet scheduling model related to energy-efficiency in mobile data trans-port. This model incorporates multiple networks with non-persistent connectivities where we only knowwhich networks are available in the current timestep. When a packet arrives, it specifies a deadline and,

for each network, a value it is worth if sent over that network. Our goal is to maximize the total valueof packets we send by their deadlines. To encourage energy-efficiency, our model requires that packetshave larger values for more energy-efficient networks. We demonstrate low-constant-competitive algo-rithms for this problem and several restrictions. We also provide lower bounds which closely match ourcompetitive ratios and, under some restrictions, are tight. Lastly, we investigate the improvements inperformance possible by adding a layer of packet/WiFi prediction to our model.

© 2011 Elsevier Inc. All rights reserved.

. Introduction

The introduction of the smartphone has been a boon to modernroductivity and personal entertainment. They provide telephonyervices, Internet connectivity and powerful computing all in aortable package. It is for this reason that they are quickly gainingopularity in the global mobile device market [9]. In fact, smart-hones are projected to dominate the U.S. mobile phone market in011 [6]; it is quite clear that their universality is fast approaching.

Yet, all the new features offered by smartphones come at theost of higher energy demands. Hence, energy-efficient methodsre crucial to ensure prolonged battery life of the mobile device.t is particularly important that these energy-saving measures doot affect the performance of the device. In this work, we addressnergy-efficiency in perhaps the most attractive feature of a smart-hone – Internet connectivity.

Smartphones typically have the ability to connect to the Internet

ither using the cellular network (e.g. 3G or GSM) or using a WiFionnection. WiFi connections are faster and spend less energy perit sent when the connection is active [1]. However, mobile devices

� A preliminary version of this paper appeared in the Proceedings of the 1st Annualnternational Green Computing Conference (IGCC), pp. 175–187, 2010.�� Research supported by NSF CIF Grant CCF-1016540.∗ Corresponding author.

E-mail addresses: [email protected] (A. Coté), [email protected] (A. Meyerson),[email protected] (B. Tagiku).1 This work was performed while Aaron was a Ph.D. student at UCLA.

210-5379/$ – see front matter © 2011 Elsevier Inc. All rights reserved.oi:10.1016/j.suscom.2011.05.003

spend most of their time with an idle network connection duringwhich time cellular connections are more energy efficient. Addi-tionally, cellular towers typically have much longer range than WiFihotspots, offering a more persistent connection. For these reasons,most phones default to a cellular connection since they are idle formost of the time and require the user to select when they wantWiFi connectivity.

Recent works such as [7,14,17] have proposed that mobiledevices be more proactive in Internet connectivity. These meth-ods explore energy-efficient ways to connect to a WiFi connectionwhen available. This opportunistic WiFi connectivity reaps the ben-efits of WiFi during data transfer and of cellular connections duringidle periods. However, this alone is not enough to ensure opti-mal energy usage; we should actively try to schedule as manydata transfers as possible into a timeframe when WiFi connec-tivity is available. Doing this would also have the beneficial sideeffect of alleviating alarmingly high demands on cellular networks[15,16].

We address this scheduling problem at the network packet levelusing a novel variant of packet scheduling which we call 2-networkpacket scheduling. As in traditional packet scheduling, each packetis assumed to have unit length and we can send at most one packetper timestep. However, we extend the packet scheduling model bygiving each packet two associated values: a value gained by sending

the packet over a cellular connection and a value gained by sendingover a WiFi connection. These values give a numerical interpreta-tion to the utility gained by successfully sending the packet per unitenergy spent. Since WiFi connections are more energy efficient, this
Page 2: Energy-efficient mobile data transport via online multi-network packet scheduling

Inform

gtcvoW

caofnaiodcwst

avptpTsiaucWvtl

caaipiapaa

fiamac

1

ptatuts

a

A. Coté et al. / Sustainable Computing:

ives us motivation to try and save as many packets as possible forimes when WiFi is available. However, packets also have an asso-iated deadline by which they must be sent in order to receive anyalue at all. Thus, it is sometimes beneficial for us to send a packetver the cellular connection if there is no hope of sending it overiFi.Packet models are commonly used within the wireless network

ommunity, but the diligent reader might ponder the viability ofn arbitrary-length task model. However, the packet based modelffers a level of granularity a task model cannot offer. It allowsor much better performance in the presence of shorter WiFi con-ections that could otherwise be missed in a task model. Wedditionally get quicker adjustment when a user initially crossesnto a WiFi hotspot. Arguably, these boundary cases may composenly a small fraction of the overall energy footprint of the mobileevice, but note this then implies the average connection (or dis-onnection) times to a WiFi hotspot is relatively long. In that case,e can expect that all packets from a divided task are likely to be

ent over the same network connection, thus closely mimicking aask model.

In this work, we investigate the above problem and several vari-tions. We first provide constant competitive algorithms underarious online models. The most general problem assumes bothackets and connectivities are announced in an online fashion. Wehen consider a couple partially offline cases. The first assumes allackets are known up front, but may still have varying arrival times.his is a useful model when there are many recurring tasks in theystem and few one-time tasks. The second assumes the availabil-ty of cellular and WiFi connections at each time step are known indvance, but packets still arrive in an online fashion. This is partic-larly applicable if the mobile device has a predictive system thatan actively learn the user’s daily routine (and thus predict when

iFi will be available). The findings in [13] strongly suggest that aery accurate predictor can in fact be built. In all cases, we are ableo provide close matching lower bounds and in some cases, tightower bounds.

As expected, our online results show that we can obtain betteronstants when we have more information. Indeed, if all the packetsnd connectivities are specified offline, then the problem reduces tostraightforward bipartite matching problem. One can ask, then,

f there is some middle ground between these two extremes. Inarticular, if packets were given to us mostly offline and connectiv-

ties were specified mostly offline, can we obtain performance thatpproaches optimum? We investigate this case by adding a layer ofacket and connectivity prediction that is prone to errors. We char-cterize precisely how the error rates have to diminish in order topproach optimum performance.

Lastly, we show that the problem becomes extremely dif-cult when k ≥ 3 networks are considered; no deterministiclgorithm can be competitive and any randomized algorithmust have competitive ratio �(k). We are able to providematching O(k)-competitive randomized algorithm for this

ase.

.1. Online problems and competitive analysis

We say that a problem is online if the input is revealed piece-by-iece over a length of time. In contrast, an offline problem specifieshe entire instance from the beginning. An online problem is usuallyccompanied by a restriction that at each timestep, some portion ofhe solution must be locked into place before the instance contin-es. This creates the difficulty of having to make decisions about

he solution without knowing what will happen at future timeteps.

Competitive analysis is typically the preferred method of onlinelgorithm analysis. This form of analysis quantifies the algorithm’s

atics and Systems 1 (2011) 196–212 197

performance by examining the competitive ratio– the ratio of thealgorithm’s solution cost ALG to the optimal offline solution costOPT. Typically, the competitive ratio is always expressed as a valueof at least 1. Thus, if an algorithm has competitive ratio c in a par-ticular problem instance, then this guarantees:

1c

ALG ≤ OPT ≤ c · ALG.

Note that this holds regardless of whether the problem is a min-imization problem or a maximization problem. We say that anonline algorithm is �-competitive if its competitive ratio is boundedby � for any problem instance.

1.2. Related work

In standard packet scheduling, packets arrive in an online fash-ion. Each packet p is specified by its arrival time ap, deadlinedp and value vp. At each time step t, we are to choose at mostone packet p to send such that ap ≤ t ≤ dp. Our goal is to maxi-mize the total value of packets sent. The online packet schedulingproblem first appeared in 2001 in [10] and a deterministic lowerbound of the golden ratio � = (1 + √

5)/(2) was shown in [8] shortlyafter. The simple greedy algorithm (sending highest value packetfirst) is known to be 2-competitive [10]. Since then, a number ofslight improvements have been made in [3,12,5] with the currentbest being a 2

√2 − 1 ≈ 1.828-competitive algorithm. Interestingly,

a �-competitive algorithm is known when packet deadlines areagreeable (ap < aq implies dp ≤ dq) [11]. For randomized algorithms,a lower bound of 1.25 and an algorithm achieving competitiveratio e/(e − 1), where e is the base of the natural log, are givenin [2].

2. Problem formulations and summary of results

In this work, we extend the packet scheduling model to accom-modate multiple networks. In particular, we assume that there isa persistent cellular network connection and an intermittent WiFinetwork connection. We consider the complete spectrum of WiFiconnectivity models – from completely predictable to completelyunpredictable (and everywhere in between these two extremes).Packets possess two values, a cellular value cp and a wireless valuewp which correspond to the amounts we receive when sent onthe respective networks. Again, we consider the entire spectrumof packet arrival models.

In all models, we assume that packets are unit-length andrequire exactly one timestep to send. At each timestep, wemust find at most one packet per timestep and cannot retroac-tively change our decision once the timestep passes. Our goalis to maximize the total value we receive throughout the entireinstance.

2.1. The non-predictive model

We start by introducing our fully online model in which WiFiconnectivities and packets arrivals are adversarial and completelyunpredictable.

Problem 1. (2-Network Packet Scheduling) We are given a set Uof packets p = (ap, dp, cp, wp) and a connectivity function � : N→{w, c} both in an online fashion. In particular, at each timestep t allpackets p ∈ U with ap = t are revealed and we are told the value of

�(t). We must irrevocably select at most one unsent packet p withap ≤ t ≤ dp to send. If we choose to send packet p then we receive wp

if �(t) = w and cp if �(t) = c. Our goal is to maximize the total valuewe receive throughout the instance.

Page 3: Energy-efficient mobile data transport via online multi-network packet scheduling

198 A. Coté et al. / Sustainable Computing: Informatics and Systems 1 (2011) 196–212

Table 1Summary of our deterministic competitive ratio upper bounds (UB) and lower bounds (LB) for each problem considered.

General wp ≥ ˛cp Equal cp Equal wp Equal wp Equal cp

Fully online UB: 3 UB: 3˛+1+√

˛2+6˛+12˛ UB: 1 + � UB: 2 UB: 2

LB: 2 LB: 2 LB: 2 LB: 2 LB: 2

Offline packets UB: 3 UB: 3˛+1+√

˛2+6˛+12˛ UB: 2 UB: 2 UB: 1

LB: 2 LB: 2 LB: 2 LB:√

2 LB: 1Offline connectivity UB: 2 UB: 2 UB: 2 UB: 2 UB: �

otWa

t˛aa

ktlph

ccttwp

Ttrio

2

ccpwtutp

Paos�twmtOi

LB: � LB: �

As evident by our definition, we assume that either a cellularr wireless connection is available at each timestep. Thus, eachimestep can be classified as a cellular timestep or a WiFi timestep.

e also assume that cp ≤ wp for all p to reflect the energy-savingsssociated with WiFi data transport.

In addition to the fully online problem above, we also considerhe problem under each of the following restrictions: when wp ≥cp for some fixed ˛ ≥ 1, when all cellular values are equal, whenll WiFi values are equal, and when both cellular values are equalnd WiFi values are equal.

We also consider the problem when the entire set of packets isnown in advance, which we refer to as offline packets. Note thathis modification makes the problem strictly easier since we can noonger be “disrupted” by unexpected packet arrivals. However, theroblem is still not trivial since we do not know exactly when we’llave connections to WiFi.

Complementary to the offline packets version is an offlineonnectivity variant. Here, we know exactly when we will haveonnections to WiFi, but packets arrive online. Again, this assump-ion makes the problem strictly easier than the general version ofhe problem since we know exactly how much a packet will beorth at each time step. Yet a degree of difficulty still exists due toackets arriving online.

We summarize our results for each of these problem variants inable 1. For all variants, we are able to give low-constant competi-ive algorithms and closely matching lower bounds. We are able toelate the offline connectivity problem to standard packet schedul-ng, which indicates some notion of difficulty in closing the gap inur results.

.2. The predictive model

From the above results, we see it is possible to obtain low-onstant-competitive guarantees even in the completely onlinease. We also know it is possible to be optimum in the com-letely offline case. Thus, we also investigate the case wheree are given partial or incomplete information. We model this

hrough the addition of predictions. These predictions will gives an idea of what packets will come and what connectivi-ies will be available, but they will not provide a completeicture.

roblem 2. (2-Network Packet Scheduling with Predictions) Were given a universal set U of packets p = (ap, dp, cp, wp). However,nly some subset S ⊆ U of the packets will actually arrive and thiset is revealed to us in an online manner. A connectivity function: N→ {w, c} is also revealed to us in an online fashion. In par-

icular, at each time t all packets p ∈ S with ap = t are revealed ande are told the value of �(t). We must then irrevocably choose at

ost one packet with ap ≤ t ≤ dp to send at time t. If we choose

o send packet p then we receive wp if �(t) = w and cp if �(t) = c.ur goal is to maximize the total value we receive throughout the

nstance.

LB: � LB: � LB: �

To assist us in this process, we are provided with predictionsin the form of a set S ⊆ U of packets and a connectivity forecastfunction � : N→ {w, c}. These predictions are not perfect, but comewith several guarantees. For each p ∈ S there is a probability ı1 thatp will arrive (a false-positive) and for each p /∈ S there is a probabilityı2 that p will actually arrive (a false-negative). For each timestep twith �(t) = w there is a false-positive probability �1 that �(t) = c andfor each timestep t with �(t) = c there is a false-negative probability�2 that �(t) = w.

It will be useful to think of the problem in the following way:We are first given U, S and �. The sets S and � are then randomlygenerated (but hidden from us) from S and �. We’ll assume packetsand connectivities are all chosen independently using the proba-bilities ı1, ı2, �1, �2 accordingly. The instance then continues as astandard online problem.

The completely online case is when ı1 = ı2 = �1 = �2 = 0.5 and Uis unknown. On the other hand, the completely offline case is whenı1 = ı2 = �1 = �2 = 0. We know that we can be constant competitivein the completely online case and optimal in the completely offlinecase. Thus, an interesting question is whether we can convergetowards optimal performance as our prediction errors ı1, ı2, �1,�2 approach 0. We answer this in the affirmative provided our pre-diction errors decrease as a function of certain problem parameters.

When packets have equal cellular and equal WiFi values weshow that to approach optimum performance, we need ı1, Qı2,�1, �2 → 0, where Q is the maximum number of packets that arriveat any single timestep. When packets have only equal WiFi val-ues we show that we must have ı1, Qı2, �1, L�2 → 0, where L isthe maximum sending window (dp − ap) of any packet p. Finally,if packets have only equal cellular values (or if packets have arbi-trary values) we show it is sufficient to have ı1, Qı2, �1, LV�2 → 0where V the ratio of the maximum WiFi value to the minimum WiFivalue.

2.3. Notation

Throughout this work, we will use ALG to denote the scheduleof an algorithm and OPT to denote the schedule of the opti-mum offline algorithm. We also abuse notation and use these todenote the actual sets of packets sent and also the total valueobtained. It will be useful to distinguish cellularly-sent packetsfrom wirelessly-sent packets. Thus, we use ALGc and ALGw to denotethe set (and total value) of packets an algorithm sends over thecellular and wireless networks, respectively. We will similarly useOPTc and OPTw for the optimum offline algorithm. Lastly, we useALGwc and OPTwc to denote the total cellular values of the pack-ets in ALGw and OPTw , respectively. We summarize this notationin Table 2.

3. Using feasible schedules

A typical framework that will be used in this work will be tomaintain feasible schedules throughout the execution of the algo-

Page 4: Energy-efficient mobile data transport via online multi-network packet scheduling

A. Coté et al. / Sustainable Computing: Inform

Table 2Summary of notation.

Symbol Description

ALG set or total value of packets sent by the algorithmALGc set or total value of packets sent over the cellular network in ALGALGw set or total value of packets sent over the WiFi network in ALGALGwc total cellular value of packets in ALGw

OPT set or total value of packets sent by the optimum offline algorithmOPTc set or total value of packets sent over the cellular network in OPTOPTw set or total value of packets sent over the WiFi network in OPT

r(espusfapft

3

lfsti

po

mptiestp

PWeotemOt

ttpci

v2

OPTwc total cellular value of packets in OPTw

ithm. A feasible schedule is simply a scheduling of announcedbut not necessarily arrived, as in the offline packets case) pack-ts to distinct timeslots so that all scheduled packets could beent, assuming persistent connectivity (and ignoring subsequentacket arrivals). For example, we can compute a feasible sched-le by finding a maximum-weight matching of packets to timelots or by following a highest-value-first scheduling policy. Theseeasible schedules give a possible course of action and as suchre useful in guaranteeing that we get a certain amount ofrofit from scheduled packets. In this section, we explore dif-erent types of feasible schedules and the implications of usinghem.

.1. Feasible schedules used in this work

The first type of feasible schedule we consider is one that fol-ows a most-valuable-packet-first scheduling policy. This type ofeasible schedule allows a 2-competitive result for standard packetcheduling as shown in [10]. In fact, we will demonstrate multipleimes throughout the paper that even when network connectivitys not persistent, we can remain 2-competitive.

Fact 1. For standard packet scheduling, following a most-valuable-acket-first feasible schedule at each timestep gives a competitive ratiof 2.

The second type of feasible schedule we will be using is aaximum-value feasible schedule which is constructed by com-

uting a maximum-weight matching between packets and futureimesteps. This type of feasible schedule allows for an interest-ng 2-competitive algorithm for standard packet scheduling: Atach timestep t, compute a maximum-value feasible schedule andend the packet scheduled at the current timestep. In fact, this is aranslation of the 2-competitive algorithm of [4] for the followingroblem:

roblem 3. (Online Max-Weight Matching with Vertex Locking)e are given an edge-weighted bipartite graph G = (A, B, E), with

dge weights wab, in a partially online manner. The set B is givenffline, but the sets A and E arrive online. At each timestep one ofwo things can occur (1) a vertex a ∈ A along with all its incidentdges arrives or (2) a vertex b ∈ B locks at which time a match for bust be irrevocably made (or b must remain unmatched forever).ur goal is to maximize the weight of our matching at the end of

he instance.

For the standard packet scheduling problem, B corresponds tohe timeslots and A to the packets. A particular slot t locks whenime t passes and we actually transmit packets. Thus, any com-etitive algorithm for this matching problem will give the sameompetitive ratio for packet scheduling. For completeness, we have

ncluded details of this result of [4] in Appendix A.

Fact 2. For standard packet scheduling, following a maximum-alue feasible schedule at each time step gives a competitive ratio of.

atics and Systems 1 (2011) 196–212 199

3.2. Effect feasible schedules have on other networks

Presumably, any algorithm that maintains a feasible schedulefor a particular network connection is saving those packets inhopes that later times will have access to this network. Yet, sav-ing these packets prevents them from being sent over any othernetwork which can be potentially harmful to our performance. Inthis section, we show that this will not degrade our performance bymuch.

Consider an instance where all timesteps are cellular. Notknowing this, an algorithm maintains at each time t a feasi-ble schedule St for timesteps t + 1 onward for the WiFi network.Suppose once this algorithm kicks a packet out of the feasibleschedule, it is never placed back into the feasible schedule. Sur-prisingly, if the algorithm sends the highest value packet not inSt, it turns out it will still be 3-competitive on this instance. Moregenerally:

Theorem 1. Consider an instance where all timesteps are cellulartimesteps. If algorithm ALG (unknowingly) maintains a feasible WiFischedule St for timesteps t + 1 onward, never readmits packets to thefeasible schedule once they are removed, and sends the highest valuedpacket not in St over the cellular network on each timestep, then it is3-competitive on this instance.

Proof. Let X be the set of packets OPT sends but ALG does not. Foreach packet p ∈ X, let xp denote the first time at which it is not in thefeasible schedule St and let ap and dp be its arrival time and deadline,respectively. Note that since p was available to send throughout [xp,dp], ALG must have sent a packet of value equal to or greater thanp at each timestep in [xp, dp].

For each X′ ⊆ X, let N(X′) = {t | ∃p ∈ X′ such that xp ≤ t ≤ dp}. Wewill show that |X′| ≤ 2 | N(X′) |. By Hall’s Theorem, this implies theexistence of a matching in which each of ALG’s sent packets arematched to at most two packets in X (of equal or lesser value) andall packets in X are matched.

It is enough to show the claim if N(X′) is a set of consecutivetimesteps, say, from t1 to t2. If not, we can partition X′ accordinglyand apply the claim to each part in the partitioning. If p is a packetwith ap ≥ t1 then [ap, dp] ⊆ [t1, t2]. Thus, OPT must have sent p atsome time within [t1, t2]. It follows from Hall’s theorem that therecan be no more than (t2 − t1 + 1) of these packets. The remainingpackets X′ all have ap < t1. But since xp ≥ t1 for all these packets,at time t1 − 1 ALG was able to fit all these packets in the feasibleschedule. Since all these packets have deadline no later than t2, itfollows that there are no more than (t2 − t1 + 1) of these packets.Thus, in total |X′| ≤ 2(t2 − t1 + 1) = 2 | N(X′) |.

So the total value OPT gets from packets in X is no more thantwice ALG’s total profit. Moreover, the total value OPT gets frompackets ALG also sends is at most our total profit. It follows thatALG must be 3-competitive. �

4. Online packets and connectivities

We start by examining the fully online (non-predictive) prob-lem defined above. For this problem, it is easy to see that the greedyalgorithm, which sends the packet of highest value each timestep,will fail to be competitive. In particular, the greedy algorithm willchoose to send a packet immediately on a cellular timestep ratherthan attempting to wait for a WiFi timestep. Thus, the use of fea-

sible schedules to “save” packets for any upcoming WiFi timestepswill be critical here. We first start with the most general case, thenmove on towards equal cellular values, equal wireless values andequivalently valued packets.
Page 5: Energy-efficient mobile data transport via online multi-network packet scheduling

2 Informatics and Systems 1 (2011) 196–212

St timesfor t valuesWiFiusingonward1+

exists)packetsuchnoifthing

scheduling.packet2-networkneral

4

bwvflavf

L

Pw|ssdwsbtb

00 A. Coté et al. / Sustainable Computing:

1: allfor timesteps t do2: schedulefeasiblemost-valuable-packet-firstCompute3: if t cellularis then4: innotpacketvaluecellularhighestsend St no(or5: else6: packetvalueWiFihighestsend7: ifend8: forend

1:Algorithm geonline,fullyforAlgorithm

.1. Arbitrary wireless and cellular values

We now show that in the general online problem, it is possi-le to be 3-competitive. To achieve this, we use Algorithm 1 whichorks as follows: At the start of each time step t, compute a most-

aluable-packet-first feasible schedule St based on wireless valuesrom time t + 1 onward. If t is a cellular time, send the highest cel-ular value packet not in St (or nothing if St contains all packetsvailable for sending). If t is wireless, send the highest wirelessalue packet. We prove that this algorithm is 3-competitive via theollowing lemmas:

emma 1. 2ALGw ≥ OPTw .

roof. We define a mapping � : OPTw → ALGw such that wp ≤�(p) for every p ∈ OPTw and such that for every q ∈ ALGw , we have

�−1(q) | ≤ 2. The existence of such a mapping proves the claim. Con-ider a packet p that OPT sends over WiFi at time t∗

p. If p ∈ ALGw thenet �(p) = p. If at time t∗

p ALG did not yet send p then p was a can-idate packet during t∗

p. This means ALG must send a packet q ofireless value at least wp at time t∗

p, so set �(p) = q. Otherwise ALG

ends p over cellular at some time tp < t∗

p. But at time tp it muste that there were packets scheduled by Stp from times tp + 1 upo dp with wireless value at least wp. One of these packets muste available to be sent at time t∗

p. Thus, we know that the packet

1: for all timesteps t do2: Compute maximum-value feasible schedule S

using WiFi values. Ensure that for each packin [tp, dp] satisfy wq − cq ≥ wp − cp.

3: if t is cellular then4: send the packet scheduled by St

5: else6: p ← scheduled packet in St

7: q ← packet with max wq − cq of those ava8: if wq − cq > βwp then9: send q

10: else11: send p12: end if13: end if14: end forAlgorithm 2: Algorithm for fully online, 2-netwgreater than cellular values.

q ALG sends at time t∗p has wireless value at least wp and we can

set �(p) = q. Notice that each of ALG’s wireless packets is charged atmost twice: once by itself and once by the packet OPT sends at thesame time. Thus ALG’s wireless value is at most half the optimumwireless value. �

Lemma 2. ALGw + 3ALGc ≥ OPTc .

Proof. If at every time, we sent the highest cellular value packetnot in St then, by Theorem 1, we would have 3ALGc ≥ OPTc. However,at WiFi times, we may not be able to send these cellular pack-ets. A close examination of the proof of Theorem 1 will show thatthese WiFi timesteps are matched with at most one packet thatOPT sends cellularly but ALG does not. This follows simply becauseboth ALG and OPT cannot send a cellular packet during these times.Additionally, the wireless value ALG gets is greater than the cellu-lar value it would have received. Thus, we recover ALG’s losses ifwe add the value it gets from all its wireless packets, finishing theproof. �

We can now add the inequalities of Lemmas 1 and 2 to showthat our algorithm is 3-competitive:

Theorem 2. Algorithm 1 is 3-competitive.

t for times t onward using cellular values, breaking tieset p scheduled at time tp all packets q scheduled at times

ilable

ork packet scheduling where wireles s values are α times

Page 6: Energy-efficient mobile data transport via online multi-network packet scheduling

Inform

4

frrtatspflsiet

nitatocdtp

LO

Poss(sst

D

pt

SE

SE

rfttZc

u

.

A. Coté et al. / Sustainable Computing:

.2. Wireless values ˛ times greater than cellular values

If we are guaranteed that for each packet p we have wp ≥ ˛cp

or some large ˛, then we can actually improve our competitiveatio using the Algorithm 2. At the start of each time step, our algo-ithm computes a max-cellular-value feasible schedule, breakingies by looking at WiFi value and arbitrarily thereafter. Addition-lly, it ensures that for each packet p scheduled at time tp we havehat (1) all times in [tp, dp] have a scheduled packet and (2) for eachuch packet q we have wq − cq ≥ wp − cp. Note that a simple swap-ing scheme can be performed to enforce this property. Once thiseasible schedule is computed, the algorithm checks to see if cel-ular or WiFi connectivity is available. If cellular, then it sends thecheduled packet. If WiFi, then it considers the packet p scheduledn the current time slot and also the packet q with highest differ-nce wq − cq. If (wq − cq) > ˇwp (for some ˇ ≥ 1 to be defined later)hen it sends q, otherwise it sends p.

To analyze this algorithm, we define the following additionalotation: We let ALGf denote the value ALG gets from all packets

t sent wirelessly that were first in the feasible schedule at thatime. On the other hand, ALGd will denote the value ALG gets fromll packets it sent wirelessly that had the highest difference at thatime. Note that every wireless packet falls under exactly one of ALGfr ALGd. We also use ALGfc and ALGdc to denote the respective totalellular value of packets in ALGf and ALGd. Finally, we use KICK toenote the total cellular value of packets that were “kicked” out ofhe feasible schedule due to a WiFi time during which we sent aacket in ALGd.

emma 3. 2(ALGd − ALGdc) + (1 + ˇ)ALGf − ALGfc ≥ OPTw −PTwc.

roof. Let D(t) be the value of 2(ALGd − ALGdc) and F(t) be the valuef (1 + ˇ)ALGf − ALGfc at time t. Assuming that the packets ALG hasent up to time t are no longer available, consider constructing achedule at only WiFi times t or later that maximizes the sum ofwp − cp) of scheduled packets p. Let Z(t) be the sum achieved byuch a schedule. Note that D(0) = F(0) = 0 and Z(0) ≥ OPTw − OPTwc

o we have D(0) + F(0) + Z(0) ≥ OPTw − OPTwc . Thus, it is sufficiento show that the following holds for all times t:

(t + 1) + F(t + 1) + Z(t + 1) ≥ D(t) + F(t) + Z(t). (1)

Suppose t + 1 is a WiFi time. Then our algorithm sends someacket p and the schedule for Z(t) sends some packet q. If p ∈ ALGfhen

D(t + 1) = D(t)F(t + 1) = F(t) + (1 + ˇ)wp − cp

Z(t + 1) ≥ Z(t) − (wq − cq) − (wp − cp).

ince we know ˇwp ≥ (wq − cq) we can combine inequalities to getq. (1). If p ∈ ALGd then

D(t + 1) = D(t) + 2(wp − cp)F(t + 1) = F(t)Z(t + 1) ≥ Z(t) − (wq − cq) − (wp − cp)

ince we know that (wp − cp) ≥ (wq − cq) we again get Eq. (1). Thus,q. (1) holds on every wireless timestep t.

Now suppose that t + 1 is a cellular time. In this case, our algo-ithm sends precisely the packet p that was scheduled in theeasible schedule, but Z(t) sends nothing since it only considers WiFiimeslots. Clearly D(t + 1) = D(t) and F(t + 1) = F(t). We will show thathere exists some Z(t) solution that does not schedule p. This implies

(t + 1) = Z(t) and that Eq. (1) holds on every cellular timestep, thusompleting the proof.

Suppose, by way of contradiction, that all Z(t) solutions sched-le p and consider the one that schedules p earliest. Note since

atics and Systems 1 (2011) 196–212 201

t + 1 is cellular and Z(t) only considers WiFi timeslots, we know thetime tp at which Z(t) sends p satisfies tp > t + 1. Thus, we have thatdp > t + 1.

Since the algorithm sent p, it is currently the first packet in thefeasible schedule, and any other packet q in the feasible schedule upto dp must satisfy (wq − cq) ≥ (wp − cp). If one of these packets hasdeadline dq > dp, then we can make the same claim for all packetsup to dq. Ultimately, we can find some time T ≥ dp such that packetsare scheduled at every timestep between t + 1 and T inclusive, all ofthese packets have deadline T or earlier, and each of these packetsq satisfy (wq − cq) ≥ (wp − cp). Let S denote the set of packets thefeasible schedule sends between tp and T inclusive and note thatp /∈ S. Thus, Z(t) must send some packet q in S prior to tp. However,we can then swap p and q and obtain a Z(t) that schedules p earlier,and still obey deadlines. This contradicts our assumption that Z(t)sends p as early as possible. It follows that some Z(t) solution mustnot send p. �

Lemma 4. 2(ALGc + ALGdc + ALGfc + KICK) ≥ OPTc + OPTwc .

Proof. Let OPT′ be the optimum offline solution if all time stepswere cellular. Clearly OPT ′ ≥ OPTc + OPTwc . By Fact 2, we know thatalways following our feasible schedule will keep us 2-competitiveagainst OPT′. However, certain packets may be prematurely sentdue to a WiFi time slot, but these are precisely the packets in ALGdc.When these packets are sent they may kick out other scheduledpackets which comprise KICK. If we account for all these packets,we get our result. �

Combining Lemmas 3 and 4 give us the following theorem:

Theorem 3. Algorithm 2 is(

3˛+1+√

˛2+6˛+12˛

)-competitive.

Proof. The inequalities of Lemmas 3 and 4 give:

2ALGc + 2ALGd + (1 + ˇ)ALGf + ALGfc + 2KICK ≥ OPTc + OPTw = OPT

However, notice that for each packet in KICK, we sent a packetfrom ALGd that was at least ˛ˇ times more valuable. Moreover,ALGfc ≤ ALGf/˛. This gives

max{

1 + ˇ + 1˛

, 2 + 2˛ˇ

}ALG ≥ 2ALGc

+(

2 + 2˛ˇ

)ALGd +

(1 + ˇ + 1

˛

)ALGf ≥ OPT.

Optimizing ˇ gives

ˇ = (˛ − 1) +√

˛2 + 6˛ + 12˛

Thus, our competitive ratio is as claimed. �

We note that plugging in ˛ = 1 gives a competitive ratio of (2 +√2) ≈ 3.4142 which is slightly worse than our general algorithm.

However, if ˛ ≥ 32 then we are better than 3-competitive. Moreover,

as ˛ approaches infinity, we approach competitive ratio 2.

Page 7: Energy-efficient mobile data transport via online multi-network packet scheduling

2 Informatics and Systems 1 (2011) 196–212

e St consisting of only those packets p with wp ≥ φ

thing if no such packet exists)

ket s

4

aOtWawpvla

ohps

L

PraTtt

eTc

tO

le Scket

etw

02 A. Coté et al. / Sustainable Computing:

1: for all timesteps t do2: Compute most-valuable-packet-first feasible schedul

for times t + 1 onward using WiFi values3: if t is cellular then4: send the earliest deadline packet not in St (or no5: else6: if St = ∅ then7: send the highest WiFi value packet8: else9: send the earliest deadline packet

10: end if11: end if12: end forAlgorithm 3: Algorithm for fully online, 2-network pac

.3. Equal cellular values

If all packets have identical cellular value cp = 1 then we can

ctually be (1 + �)-competitive, where � = 1+√

52 is the golden ratio.

ur algorithm, given as Algorithm 3, works as follows: On eachimestep t, if we have WiFi we send the packet p of highest

iFi value as long as wp ≥ �. If there is no sufficiently valu-ble packet to send, we send the packet with earliest deadline. Ife only have cellular connectivity, we compose a most-valuable-acket-first schedule St of packets p with wp ≥ � based on WiFialues from time t + 1 onward. We then send the earliest dead-ine packet which is not in St (or nothing if no such packet isvailable).

To show this algorithm is (1 + �)-competitive, we slightly modifyur definition of ALGw to be those packets we send over WiFi whichave wireless values at least �. We then define ALGx to be thoseackets we send over WiFi with wireless value smaller than �. Weimilarly define OPTw and OPTx.

emma 5. 2|ALGc | + 2|ALGx| + 3|ALGw| ≥ |OPTc | + |OPTw| + |OPTx|.

roof. Consider a packet p ∈ OPT − ALGw . Since p /∈ ALGw , it wasemoved from St at some time xp which we will call p’s virtualrrival. Using Hall’s Theorem in a manner similar to the proof ofheorem 1, we can show that it is possible to schedule at least halfhe packets in OPT − ALGw within their respective virtual arrivalimes and deadlines. Since our algorithm sends all these packets

arliest deadline first, we will send at least 12 |OPT − ALGw| packets.

1: for all timesteps t do2: Compute maximum-value feasible schedu

each packet p scheduled at time tp, all pa3: if St schedules packet at time t then4: send the packet scheduled by St

5: else if t is a WiFi time then6: send the packet with earliest deadline7: end if8: end forAlgorithm 4: Algorithm for fully online, 2-n

hus, |ALG| ≥ 12 |OPT − ALGw| which can be rearranged to give the

laim. �

Further partition OPTx into OPT ′x and OPT ′′

x where OPT ′x will be

he packets OPT sends at a time when we send a packet in ALGw andPT ′′

x = OPTx − OPT ′x.

cheduling where all cellu lar values are equal.

Lemma 6. 2ALGw − 2|ALGw| ≥ OPTw − |OPTw| + OPT ′x − |OPT ′

x|.Proof. In a manner similar to the proof of Lemma 1, we canconstruct a mapping � : OPTw ∪ OPT ′

x → ALGw such that for eachp ∈ OPTw ∪ OPT ′

x we have w�(p) ≥ wp and such that for everyq ∈ ALGw we have |�−1(q) | ≤ 2. Since all cellular values are equalto 1 and all wireless values are at least 1, the lemma follows. �

Lemma 7. (� − 1)|ALGc | + (� − 1)|ALGx| ≥ OPT ′′x − |OPT ′′

x |.Proof. Notice that all times at which OPT sends packets in OPT ′′

x aretimes during which ALG follows an earliest deadline first schedul-ing policy. Since the packets of OPT ′′

x are never in St, ALG mustsend at least |OPT ′′

x | packets during the times it follows an ear-liest deadline first scheduling policy. Notice that the packets wesend during these times are precisely those in ALGc or ALGx, so|ALGc | + |ALGx| ≥ |OPT ′′

x |. Clearly, �|OPT ′′x | ≥ OPT ′′

x so (� − 1)|OPT ′′x | ≥

OPT ′′x − |OPT ′′

x |. Combining both inequalities proves the claim. �

Lemma 8. Algorithm 3 is (1 + �) -competitive.

Proof. Combining the right-hand sides of Lemmas 5, 6 and 7 givesprecisely OPT. The left-hand sides sum to

(1 + �)(|ALGc | + |ALGx|) + 2ALGw + |ALGw|.Since all cellular values are 1, ALGc =| ALGc |. We obtain value atleast 1 for each ALGx packet, so ALGx≥ | ALGx |. Finally, (� − 1)ALGw =1� ALGw ≥ |ALGw|. Thus, the left-hand sides sum to no more than(1 + �)ALG. �

t for times t onward using cellular value. Ensure that fors q scheduled at times [tp, dp] have deadline at least dp.

ork packet scheduling where all WiFi values are equal.

4.4. Equal wireless values

We now consider the case where all packets have identical wire-

less value W, but may have varying cellular values (less than W). Wecan show that Algorithm 4 is in fact 2-competitive. This algorithmworks by constructing, at each timestep, a max-cellular-value feasi-ble schedule so that for each p there are packets scheduled between
Page 8: Energy-efficient mobile data transport via online multi-network packet scheduling

Inform

plpwes

L

PfiAtauAt

ATnumbtatHbn

sIuastAh

L

PVwudt�dhoWg

ible

n St

t sch

A. Coté et al. / Sustainable Computing:

’s scheduled time and dp, and all these packets have deadline ateast dp (the latter property can be achieved using a simple swap-ing technique). If there is a packet scheduled at the current time,e send it regardless of whether we have WiFi or cellular. How-

ver, if we have no packet scheduled and we have WiFi, then weend the packet with earliest deadline.

emma 9. ALGw ≥ OPTw .

roof. This follows from the optimality of an earliest-deadline-rst schedule, but we include the proof for completeness. LetLGw(t) denote the wireless value obtained by our algorithm up toime t and Z(t) denote the optimum offline wireless value obtain-ble from all times after t given the decisions of our algorithmp to time t. Note that ALGw(0) + Z(0) = OPTw . We will show thatLGw(t) + Z(t) is non-decreasing, proving the claim since at the finalime tf we have Z(tf) = 0.

Suppose t + 1 is a cellular time. Then clearly ALGw(t + 1) =LGw(t). Suppose our algorithm decides to send some packet p. Letbe the first time slot at which the current feasible schedule haso packet scheduled. Let S be the set of packets currently sched-led between time t + 1 and T. Note that by the construction of St, itust be that T ≥ dp and for each q ∈ S we have dp ≤ dq ≤ T. Suppose,

y way of contradiction, that all Z(t) solutions send p and considerhe one that schedules p earliest. Let tp be the time Z(t) schedules pnd note tp > t. No packet in S can be sent by Z(t) over wireless prioro tp otherwise we could swap with p and get an earlier time for p.owever, this means some packet in S must not be sent wirelesslyy Z(t) and we could swap with p to get a schedule Z(t) that doesot use p. Thus Z(t + 1) = Z(t).

Now, suppose t + 1 is a WiFi time. If our algorithm is unable toend a packet, then clearly ALGw(t + 1) = ALGw(t) and Z(t + 1) = Z(t).f our algorithm sends some packet p but Z(t) has no packet sched-led, then ALGw(t + 1) = ALGw(t) + W and Z(t + 1) ≥ Z(t) − W. If ourlgorithm sends p and Z(t) sends q then we know dp ≤ dq. If Z(t)cheduled p then we could swap p and q and have Z(t) send p athis time instead. Otherwise, if Z(t) doesn’t schedule p, we haveLGw(t + 1) = ALGw(t) + W and Z(t + 1) ≥ Z(t) − W. In all cases, weave ALGw(t + 1) + Z(t + 1) ≥ ALGw(t) + Z(t). �

emma 10. 2ALGc + ALGw ≥ OPTc .

roof. Following the Online Maximum-Weighted Matching withertex Locking proof in [4], let �a denote the increase in matchingeight upon arrival of task a. Since we occasionally send sched-led packets over WiFi, we now get ALGw + ALGc ≥ ∑

a�a. Let �t(b)enote the decrease in matching weight at time t if we removeime slot b as a potential match. Thus, if �(b) represents the finalt(b), then we have

∑b cellular�(b) = ALGc. Note that �t(b) is still non-

ecreasing with time for cellular time slots b. Our proof of this

1: for all timesteps t do2: Compute most-valuable-packet-first feas3: if t is cellular then4: send the earliest deadline packet not i5: else6: send the highest wireless value packet7: end if8: end for

Algorithm 5: Algorithm for 2-network packeequal.

olds when packets arrive and when time slots lock, so we neednly show �t(b) is non-decreasing when a time slot is declarediFi. Note that when a time slot is declared WiFi the bipartite

raph remains unchanged. Thus, any matching that minimizes b’s

atics and Systems 1 (2011) 196–212 203

matched value at this new time was also possible before WiFi wasdeclared. So it follows that �t(b) ≤ �t+1(b) and we get equality whenb is not the slot being declared WiFi.

Thus, for each a and cellular b, we must have �a + �t(b) ≥ wab

where wab is the weight of matching a to b. Summing over all OPTedges in the matching proves the claim. �

We can simply combine Lemmas 9 and 10 to get the following:

Theorem 4. Algorithm 4 is 2 -competitive.

5. Offline packets and online connectivities

We now consider the variant in which all packets are known upfront (but may still have varying arrival times). Under this model,we improve our competitive ratios for the online packet modelwhen cellular values are equal. In the case where all wirelessvalues are equal and all cellular values are equal, we show we canbe optimal.

schedule St for times t + 1 onward using WiFi values.

(or nothing if no such packet exists)

eduling with offline packets wher e all cellular values are

5.1. Equal cellular values

We will show that Algorithm 5 is 2-competitive. This gives aslight improvement over our result for the fully online version ofthis problem. At each time step t, compute a most-valuable-packet-first feasible schedule St of packets based in WiFi value from timet + 1 onward. If t is a cellular time, send the earliest deadline packetnot in St (or nothing of no such packet exists). If t is wireless, sendthe highest wireless value packet.

The 2-competitiveness of the most-valuable-packet-first policyalong with the fact that all packets have equal cellular values allowsus to bound the wireless value OPT receives.

Lemma 11. 2ALGw − 2ALGwc ≥ OPTw − OPTwc .

Proof. Let p be a packet OPT sends over WiFi at time t∗p. If p ∈ ALGw

then set �(p) = p. If at time t∗p our algorithm did not yet send p then

p was a candidate packet during t∗p. This means ALG must send a

packet q of wireless value at least wp at time t∗p, so set �(p) = q.

Otherwise ALG sends p over cellular at some time tp < t∗p. But at

time tp it must be that there were packets scheduled by Stp fromtimes tp + 1 up to dp with wireless value at least tp. One of thesepackets must be available to be sent at time t∗

p. Thus, we know thatthe packet q ALG sends at time t∗

p has wireless value at least wp andwe can set �(p) = q. Notice that each of ALG’s wireless packets ischarged at most twice: once by itself and once by the packet OPTsends at the same time. Thus ALG’s wireless value is at most halfthe optimum wireless value. Moreover, since all packets have thesame cellular value, the claim follows. �

The fact that packets are offline now allows us to show a strongerbound of the total cellular value OPT can obtain.

Lemma 12. 2ALGwc + 2ALGc ≥ OPTc + OPTwc .

Proof. Note that at time t = 0, ALG is guaranteed to get at leastthe cellular value of all the packets in S0. Then if OPTc(S0) denotesthe total value of packets in S0 which optimum sends at cellular

Page 9: Energy-efficient mobile data transport via online multi-network packet scheduling

2 Inform

ao

A

Aofi

A

FWss

A

C

T

imeskets

A wite

5

e6stwtsd

T

POntst

A

ib

A

c

04 A. Coté et al. / Sustainable Computing:

nd OPTwc(S0) denote the total cellular value of packets in S0 whichptimum sends over WiFi, we have

LGc + ALGwc ≥ OPTc(S0) + OPTwc(S0).

t time t = 0, our algorithm is also guaranteed to get at least theptimum cellular value of packets not in S0 since earliest deadlinerst is optimal in this case. Thus, we must have

LGc ≥ OPTc(S0).

inally, consider all those packets in S0 that optimum sends overiFi. Since these packets are not in S0, ALG must have a packet

cheduled at every time during their windows. Thus, whenever OPTends one of these packets, ALG also sends a packet. Thus, we have

LGwc ≥ OPTwc(S0).

ombining all the inequalities proves the claim. �

heorem 5. Algorithm 5 is 2-competitive.

1: for all timesteps t do2: Compute maximum-value feasible schedule St for t

for each packet p scheduled at time tp, there are pacdeadline no earlier than dp.

3: if St schedules packet at time t then4: send the packet scheduled by St

5: else if t is WiFi then6: send the packet with earliest deadline7: end if8: end forlgorithm 6: Algorithm for 2-network packet scheduling

qual and all WiFi values are equal.

.2. Equal wireless and equal cellular values

We show that when all packets have equal wireless value andqual cellular value we can be optimal. To do this, we use Algorithmwhich simply computes a maximum matching of packets to time

lots. However, we ensure that for each packet p scheduled at time, there are packets scheduled every time between t and dp all ofhich have deadline no earlier than dp. On cellular times, we send

he scheduled packet. On WiFi times, we send either the packetcheduled or, if no packet is scheduled, the packet with earliesteadline.

heorem 6. Algorithm 6 is optimal.

roof. We first show that ALG sends a wireless packet wheneverPT does. Let p ∈ OPTw and let t be the time OPT sent it. If ALG didot yet send p at time t, then it is clear it must send some packet at. If ALG already sent p prior to t, then we know there were packetscheduled up until dp. Thus, one of these packets must be availableo send. It follows that

LGw − ALGwc ≥ OPTw − OPTwc.

Note that all packets scheduled at time t = 0 are eventually sentn some manner. Since we originally scheduled the maximum num-er of packets possible, it follows that

LGc + ALGwc ≥ OPTc + OPTwc.

Putting inequalities together gives ALG ≥ OPT and proves thelaim. �

atics and Systems 1 (2011) 196–212

t onward using cellular values. Ensure thatscheduled every time between tp and dp with

h offline packets wher e all cellular values are

6. Online packets and offline connectivities

We now consider the variant in which network connectivityis known in advance throughout the entire instance, but packetsarrive in an online fashion. Again, this model is strictly easier thanthe fully online model and, consequently, we can improve our com-petitive ratios. In particular, we improve our competitive ratio forthe general problem and for the case when all packets have equalcellular value and WiFi value.

6.1. Arbitrary wireless and cellular values

Since all connectivities are known in advance, we know pre-cisely what each (arrived) packet’s value will be at each futuretimestep. Thus, we can simply employ the matching algorithm of[4] to immediately get a competitive ratio of 2. The algorithm workssimply by, at each timestep, computing a maximum-value match-ing of packets to timesteps and sending the packet matched to thecurrent timestep.

Theorem 7. The above algorithm is 2-competitive.

6.2. Equal wireless and equal cellular values

If all packets have equal wireless value W and equal cellularvalue C, then we can do slightly better than above. Note that if(W/C) < � then for every packet we send, we always obtain 1/� of thevalue OPT could receive from this packet. Thus, we need only makesure we send more packets than OPT. This can be achieved by sim-ply using an earliest-deadline-first scheduling policy, regardless ofwhat network connectivity we have.

On the other hand, if (W/C) ≥ � then the following policy is �-competitive: On a WiFi timestep, we simply send the packet withearliest deadline. On a cellular timestep, we construct a maximummatching of packets to WiFi timesteps. We then find the packetp of earliest deadline whose removal still allows the same num-ber of WiFi timesteps to be matched. If such a p exists we send it,otherwise we send nothing.

Our algorithm then runs the first policy if (W/C) < � and runs thesecond policy if (W/C) ≥ �.

Theorem 8. The above algorithm is � -competitive.

Proof. It is clear that when (W/C) < � the first policy achieves com-petitive ratio of �. Thus, we need only show that the second policyis �-competitive when (W/C) ≥ �. Clearly, since we maximize thenumber of WiFi packets we can send, we have ALGw ≥ OPTw .

If we had ignored WiFi timesteps entirely and followed anearliest-deadline-first policy, then we would also collect optimumcellular value. However, there may be select cellular times whenOPT sends something and we do not because we are saving it for

Page 10: Energy-efficient mobile data transport via online multi-network packet scheduling

Inform

aWwir

7

daccg

Tam

PcsIgic1

c

Tad

PcicwwsfiitSi

oc

Tac

Pc1clIhwoo

a

A. Coté et al. / Sustainable Computing:

WiFi timestep. In this case, 1/� of the value collected from thisiFi timestep is enough to cover the cellular value we’ve lost. Thus,e have (1/�)ALGw + ALGc ≥ OPTc . Combining this with the above

nequality (along with the fact that � = 1 + (1/�)) proves the theo-em. �

. Lower bounds for the online model

We now prove lower bounds on the competitive ratio of anyeterministic algorithm. We start by showing that when packetsnd connectivity are online, no deterministic algorithm can haveompetitive ratio better than 2, even under the restriction that allellular values are equal and all wireless values are equal. Thus thisives a lower bound for all versions with online packets.

heorem 9. When connectivity is online, packets arrive online andll packets have equal cellular value and equal wireless value, no deter-inistic algorithm can be c -competitive for c < 2.

roof. Let ALG be a deterministic algorithm with competitive ratio. We build a bad instance for this algorithm as follows: Considertarting at t = 0 with a packet A = (0, 1, 1, 2) and cellular connectivity.f the algorithm decides to send A at this time, then at time t = 1 weet WiFi connectivity. If the algorithm decides not to send A, thenn the next time step a packet B = (1, 1, 1, 2) arrives and we haveellular connectivity. In either case, the algorithm gets total valuewhereas the optimum offline value is 2. It follows that c ≥ 2. �

In fact, a similar example shows that no randomized algorithman be better than (3)/(2)-competitive:

heorem 10. When connectivity is online, packets arrive online andll packets have equal cellular value and equal wireless value, no ran-omized algorithm can be c -competitive for c < 3/2.

roof. Suppose, by way of contradiction, that we have a c-ompetitive randomized algorithm ALG for c < 3/2. Consider annstance where at time 0 packet A = (0, 1, 1, ˛) arrives and we haveellular connectivity. The algorithm decides to send this packetith some probability p. From here, the instance can run in twoays: (1) in the next timestep we get wireless connectivity, (2) we

till have cellular connectivity but a packet B = (1, 1, 1, ˛). In therst case, the algorithm’s competitive ratio is ˛/(p + (1 − p)˛) and

n the second case, the competitive ratio is 2/(2p + (1 − p)). Thus,he algorithm’s ratio is best when these two quantities are equal.olving for p gives p = ˛/(3˛ − 2) in which case our competitive ratios (3˛ − 2)/(2˛ − 1) which approaches 3/2 as ˛→ ∞. �

Next, we show that when connectivity is online, packets areffline and cellular values are equal, no deterministic algorithman be better than 2-competitive:

heorem 11. When connectivity is online, but packets are offlinend all packets have equal cellular values, no deterministic algorithman be c -competitive for c < 2.

roof. Let ALG be a deterministic algorithm with competitive ratio. Our bad instance for this algorithm will have two packets A = (0,, 1, 4) and B = (1, 1, 1, 1). At time t = 0 we will have only cellularonnectivity. If ALG sends A, then at the next timestep, we get wire-ess and can only get total value 2 whereas the optimum value is 4.f ALG does not send A at this time, then in the next time step weave cellular connectivity again. We can only send one of A and Bhereas it was possible to send both. Since ALG must follow one

f these cases, it follows that it cannot guarantee less than half the

ptimum profit. Thus c ≥ 2. �

When connectivity is online, packets are offline and WiFi valuesre equal, we can show a slightly weaker lower bound:

atics and Systems 1 (2011) 196–212 205

Theorem 12. When connectivity is online, but packets are offlineand all packets have equal wireless values, no deterministic algorithmcan be c -competitive for c <

√2.

Proof. Consider an instance with the following packets: A = (0, 0,ˇ, 1), B = (0, 1, 1, 1) and C = (0, 2, 0, 1). Suppose at time 0 we haveonly cellular connectivity. If ALG sends A, then at t = 1 we’ll havewireless and at t = 2 we’ll only have cellular. Among B and C, wecan only hope to get additional value 1. Thus, our total value is1 + ˇ whereas OPT can get 2 (by sending B at time 0 and C at time 1).Notice that a similar situation arises if the algorithm sends C at time0 or nothing at time 0. If ALG sends B at time 0, then the remainingtimes are all cellular. In this case, we only get total value 1 whereasOPT could get 1 + ˇ.

Thus, our competitive ratio is the smallest of 1/(1 + ˇ) and(1 + ˇ)/2. Setting both equal gives ˇ =

√2 − 1 which corresponds

to competitive ratio√

2. Thus, ALG can be no better than√

2-competitive. �

When connectivities are offline, we can show a lower bound of� even if all packets have equal wireless value and equal cellularvalue:

Theorem 13. When connectivities are offline and all packets haveequal wireless value and equal cellular value, no deterministic algo-rithm can be c -competitive for c < �.

Proof. Consider a two timestep instance where at t = 0 we haveonly a cellular connection and at t = 1 we have a WiFi connection.At t = 0 packet A = (0, 1, 1, �) arrives. If ALG sends A, then no newpackets arrive and the instance ends. Thus, ALG gets total value 1whereas OPT could get value �. If ALG does not send A at t = 0 thenat time t = 1 packet B = (1, 1, 1, �) arrives. The most ALG can get is� whereas OPT could have received 1 + �. In either case, ALG hascompetitive ratio �. �

While there is a gap in many of the cases for offline connectiv-ities, we can easily show that a c-competitive algorithm for thisproblem implies a c-competitive algorithm for standard packetscheduling. This follows simply because we can treat all timestepsas being of the same network type. Thus, this is in fact true evenfor the version where all cellular values are equal, or the versionwhere all WiFi values are equal. Given the difficulty in achieving a �-competitive algorithm for standard packet scheduling, this impliesa level of difficulty in getting a tight bound for 2-network packetscheduling with offline connectivities.

Fact 3. A c -competitive algorithm for 2-Network Packet Schedulingwith offline connectivities even when restricted to equal cellular values,or equal WiFi values (but not both) is a c -competitive algorithm forstandard packet scheduling.

8. The predictive model

Now, we move on to the addition of predictions to the 2-networkmodel. As shown above, we can expect constant-competitivenesswhen no predictions are given and optimum performance whenthe entire instance is specified offline. Thus, the goal here will beto obtain performance that gradually converges towards optimumas our predictions become more and more reliable.

8.1. Performance analysis metrics

Note that standard competitive analysis will not suffice; sinceour problem model incorporates some amount of randomization

(in determining which packets arrive/connectivities occur), bothour and the optimum solutions are randomized as well. This givesrise to three interesting ratios to consider: Ex

[ALGOPT

], Ex

[OPTALG

]and

Ex[ALG]Ex[OPT] . For Ex

[ALGOPT

]and Ex[ALG]

Ex[OPT] , we will provide algorithms that

Page 11: Energy-efficient mobile data transport via online multi-network packet scheduling

2 Inform

aıomtth

apaoa

TTe

Podl

S

ao

˛

E

Tdf˛

E

Sfp

i

tfa

L

E

cif

06 A. Coté et al. / Sustainable Computing:

pproach optimum performance as our prediction error rates, ı1,2, �1, �2, tend toward 0. These algorithms are able to do so with-ut prior knowledge of the prediction error rates. For the Ex

[OPTALG

]etric, we will demonstrate that it is impossible for an algorithm

o approach optimum performance if it is oblivious of the predic-ion error rates. This illustrates that the Ex

[OPTALG

]metric is provably

arder than the other two metrics.We start by showing that no algorithm can have performance

pproaching optimum in the Ex[

OPTALG

]metric if it does not have

rior knowledge of the packet false-positive error rate ı1. Since were interested in algorithms that do not require knowledge of anyf the prediction error rates, this indicates that Ex

[OPTALG

]will not be

n appropriate measure.

heorem 14. Let ALG be an algorithm oblivious of the error rate ı1.hen there exists some constant c > 1 such that Ex

[OPTALG

]> c . This holds

ven when packets have identical cellular and identical WiFi values.

roof. Consider the case where we have ı2 = �1 = �2 = 0. Thus, thenly prediction errors that can occur are when a predicted packetoes not arrive (i.e. we have p ∈ S but p /∈ S). Let U contain the fol-

owing packets:

ap dp cp wp

A 0 1 1 ˛B 1 1 1 ˛

uppose S = {A, B} and that �(0) = c and �(1) = w.Let p be the probability that ALG sends A at time t = 0 (given A

rrives). We will assume that if A does not arrive, then ALG performsptimally. Notice that

Ex

[OPT

ALG

]≥ ı1 + (1 − ı1)

[p(1 − ı1) + pı1˛ + (1 − p)(1 − ı1)

˛ + 1˛

+ (1 − p)ı1

]= ı1 + (1 − ı1)

[1 + pı1(˛ − 1) + (1 − p)(1 − ı1)

]= 1 + pı1(1 − ı1)(˛ − 1) + (1 − p)(1 − ı1)2 1

˛

≥ max

{1 + (1 − p)(1 − ı1)2 1

˛, pı1(1 − ı1)˛

}.

Suppose that for some c > 1, ALG picks probability p = d < 1 when= c. Then notice that

x

[OPT

ALG

]≥ 1 + (1 − p)(1 − ı1)2 1

˛= 1 + (1 − ı1)2 1 − d

c≥ 1 + 1 − d

4c.

hus, ALG cannot hope to approach optimum performance as ı1iminishes. On the other hand, suppose ALG picks probability 1or all c ≥ 1 (it is clear it should pick p = 1 when c = 1). Then when= 2/(ı1(1 − ı1)) we have

x[

OPT

ALG

]≥ pı1(1 − ı1)˛ = 2

o again, ALG cannot hope to approach optimum performance. Itollows that in all cases ALG must not be able to approach optimumerformance under the Ex

[OPTALG

]metric. �

Despite the hardness of Ex[

OPTALG

], it will still be useful in bound-

ng Ex[

ALGOPT

]. In particular, if we can be competitive on Ex

[OPTALG

],

hen we can be just as competitive on Ex[

ALGOPT

]. This follows directly

rom Jensen’s inequality which states that for a convex function fnd random variable X, we have f(Ex[X]) ≤ Ex[f(X)].

emma 13. If Ex[

ALGOPT

]≤ 1

c then Ex[

OPTALG

]≥ c . Similarly, if

x[

OPTALG

]≤ c then Ex

[ALGOPT

]≥ 1

c . [ ]

Of course, being competitive on Ex ALG

OPT does not mean we are

ompetitive on Ex[

OPTALG

]. However, if we ensure that our algorithm

s constant competitive in the worst case, then we can make thisorm of guarantee. In particular:

atics and Systems 1 (2011) 196–212

Lemma 14. Suppose we have an algorithm such that c · ALG ≥ OPTand such that Ex

[ALGOPT

]≥ 1 − ε for some ε ≥ 0. Then we have

Ex[

OPTALG

]≤ 1 + 2

√cε.

Proof. For any ı > 0 we have

1 − ε ≤ Ex[

ALG

OPT

]≤ (1 − ıε)Pr

(ALG

OPT< 1 − ıε

)+ Pr

(ALG

OPT≥ 1 − ıε

)= (1 − ıε)Pr

(ALG

OPT< 1 − ıε

)+ 1 − Pr

(ALG

OPT< 1 − ıε

)= 1 − ıεPr

(ALG

OPT< 1 − ıε

).

Rearranging terms gives Pr(

ALGOPT < 1 − ıε

)≤ 1

ı. Now,

Ex[

OPT

ALG

]≤ 1

1 − ıε+

(c − 1

1 − ıε

)Pr

(ALG

OPT< 1 − ıε

)≤ 1

1 − ıε+ c

ı− 1

ı(1 − ıε).

Setting ı accordingly (we omit the actual expression for brevity)bounds the above quantity by 1 + 2

√εc as desired. �

8.2. Eliminating false-positive errors

We now show that we can essentially ignore any false-positiveerrors. In other words, we can design an algorithm that assumes allpredicted packets will arrive and all predicted WiFi times will occur.This only affects the ratio of the algorithm by a factor (1 − ı1 − �1)which approaches 1 as both these errors diminish.

Lemma 15. Let X be the event that there are no false-positive errors( i.e. all predicted packets arrive and all predicted WiFi times occur).If Ex[ALG|X]

Ex[OPT |X] = R1 and Ex[

ALGOPT

∣∣X]

= R2 then Ex[ALG]Ex[OPT] = (1 − ı1 − �1)R1

and Ex[

ALGOPT

]= (1 − ı1 − �1)R2.

Proof. It is clear that Ex[ALG] ≥ (1 − ı1 − �1)Ex[ALG | X] andthat Ex[OPT] ≤ Ex[OPT | X]. Thus, Ex[ALG]

Ex[OPT] = (1 − ı1 − �1)R1 followsdirectly.

Let ALG(A, B) denote the value of the algorithm when the set Aof false-positive errors and the set B of false-negative errors occur.Similarly define OPT(A, B). Let Pr(A), Pr(B) be the probabilities thatthese sets of errors occur. Recall that our errors occur indepen-dently, so the probability that errors A and B both occur is preciselyPr(A)Pr(B). Then

Ex[

ALG

OPT

]=

∑A,B

ALG(A, B)OPT(A, B)

· Pr(A)Pr(B)

≥∑A,B

ALG(A, B)OPT(∅, B)

· Pr(A)Pr(B)

=∑

B

Pr(B)OPT(∅, B)

∑A

ALG(A, B)Pr(A)

≥∑

B

Pr(B)OPT(∅, B)

· (1 − ı1 − �1)ALG(∅, B)

= (1 − ı1 − �1)Ex[

ALG

OPT

∣∣∣X]

which finishes the proof. �

8.3. The hardness of false negatives

In this section, we will show that false-negatives can be detri-mental. In particular, we’ll give examples that illustrate that our

Page 12: Energy-efficient mobile data transport via online multi-network packet scheduling

Inform

fp

Logtc

Powt

Savtte˛

vTt

I

c

tpo

A. Coté et al. / Sustainable Computing:

alse-negative error rates ı2, �2 will need to depend on problemarameters in order for us to be arbitrarily close to optimum.

emma 16. Let Q be the maximum number of packets that can arriven any single timestep. Then if ı2 is independent of Q , no algorithm canuarantee performance better than a fixed constant using any of thehree performance ratios. This holds even if all packets have identicalellular values and identical WiFi values.

roof. Consider the case where we have ı1 = �1 = �2 = 0. Thus, thenly errors that can occur are when p /∈ S but p ∈ S. In other words,e predicted p would not arrive, but it in fact did arrive. Let U be

he set containing the following packets:

ap dp cp wp

A 0 1 1 ˛B1 1 1 1 ˛

.

.

....

.

.

....

.

.

.BQ 1 1 1 ˛

uppose S = {A} and that �(0) = c and �(1) = w. Let ALG be anylgorithm. If ALG sends A in the first timestep then its expectedalue is 1 + (1 − (1 − ı2)Q)˛. If ALG does not send A in the firstimestep, then its expected value is precisely ˛. We can make bothhese expectations equal if we set Q = (log (1/˛))/(log (1 − ı2)) andnsure ˛ > 1. Thus, no matter what ALG does, its expected value is.

On the other hand, there is a (1 − ı2)Q chance that OPT can getalue ˛ and a (1 − (1 − ı2)Q) chance that OPT can get value 1 + ˛.hus, taking in to account the fact that Q = (log (1/˛))/(log (1 − ı2)),he expected value of OPT is

Ex[OPT] = ˛(1 − ı2)Q + (˛ + 1)(1 − (1 − ı2)Q )

= ˛ + (1 − (1 − ı2)Q )

= ˛ + (1 − (1 − ı2)log(1−ı2)1˛ )

= ˛ +(

1 − 1˛

)= ˛2 + ˛ − 1

˛.

t then follows that on this instance, every algorithm has Ex[ALG]Ex[OPT] =

˛2

˛2+˛−1. Setting ˛ = 2 gives a ratio of 4

5 . It follows that no algorithm

an guarantee a ratio Ex[ALG]Ex[OPT] better than 4

5 .Let us now consider the expected value of the competitive ratio

ALGOPT and its inverse. Let p be the probability that ALG sends A inhe first timestep. Let q = (1 − ı2)Q be the probability that no Biacket arrives. Then the following table summarizes the possibleutcomes:Event Probability ALG

OPT

ALG sends A at t = 0, no Bi arrives pq 1˛

ALG sends A at t = 0, some Bi arrives p(1 − q) 1ALG sends nothing at t = 0, no Bi arrives (1 − p)q 1ALG sends nothing at t = 0, some Bi arrives (1 − p)(1 − q) ˛

˛+1

Then notice that

[ALG

]1 ˛

ExOPT

pq + p(1 − q) + (1 − p)q +˛ + 1

(1 − p)(1 − q)

= p[

q + (1 − q)]

+ (1 − p)[

q + ˛

˛ + 1(1 − q)

].

atics and Systems 1 (2011) 196–212 207

If we set q = ˛˛2+˛−1

then the two bracketed expressions are equalgiving

Ex[

ALG

OPT

]= p

[1˛

q + (1 − q)]

+ (1 − p)[

q + ˛

˛ + 1(1 − q)

]= 1

˛q + (1 − q)

= 1˛

˛2 + ˛ − 1

)+

(1 − ˛

˛2 + ˛ − 1

)= ˛2

˛2 + ˛ − 1.

This expression has minimum value 45 when ˛ = 2. It follows that

no algorithm can guarantee Ex[

ALGOPT

]better than 4

5 . By Lemma 13,

this also implies no algorithm can guarantee Ex[

OPTALG

]better than

54 . �

Thus, we can tune the above example so that any algorithm is afixed constant away from optimum under any of the performancemetrics. In particular, given ı2 we can select a sufficiently large Qto make the probability of a misprediction significant enough todistort our performance ratios. It follows that to have any hope ofapproaching optimality, our error ı2 should compensate in someway for the maximum number of packets that can arrive duringany timestep.

Lemma 17. Let V be the ratio of maximum packet WiFi value tominimum WiFi value. Then if �2 is independent of V , no algorithm canguarantee performance better than a fixed constant using any of thethree performance ratios. This holds even when all cellular values areequal.

Proof. Consider the case where we have ı1 = ı2 = �1 = 0. Thus, theonly errors that can occur are when �(t) = c but �(t) = w. In otherwords, we predicted cellular at time t, but in fact we have WiFi.While at first glance this error seems favorable for us (after all, weget more value than we were expecting), we’ll show that it canactually be quite devastating. In essence, the offline optimal canincrease greatly because of this new WiFi timestep but we can-not since all high-WiFi-value packets have already been sent (overcellular).

Consider the set U = S = S with the following packets:

ap dp cp wp

A 0 1 1 ˛B 1 1 1 1

We also have �(0) = �(1) = c. Let ALG be any algorithm and p theprobability that it sends packet A at time t = 0 if time t = 0 is cellular;we’ll assume that it is smart enough to know it can send A if thereis a WiFi connection at t = 0. The following table summarizes thepossible outcomes:

Event Probability ALG OPT

�(0) = w �2 ˛ + 1 ˛ + 1ALG sends A at t = 0, �(0) = c, �(1) = c p(1 − �2)2 2 2ALG sends A at t = 0, �(0) = c, �(1) = w p�2(1 − �2) 2 ˛

ALG sends nothing at t = 0, �(0) = c, �(1) = c (1 − p)(1 − �2)2 1 2ALG sends nothing at t = 0, �(0) = c, �(1) = w �2(1 − p)(1 − �2) ˛ ˛

Notice that if we set ˛ = 1�2

, we have

Ex[ALG] = �2(˛ + 1) + p(1 − �2) · 2 + (1 − p)(1 − �2)2 · 1 + �2(1 − p)(1 − �2) · ˛

= 1 + �2 + 2p(1 − �2) + (1 − p)(1 − �2)2 + (1 − p)(1 − �2)

2

= 2 + p(1 − �2) + (1 − p)(1 − �2)

≤ 2 + p(1 − �2) + (1 − p)(1 − �2)

= 3 − �2

Page 13: Energy-efficient mobile data transport via online multi-network packet scheduling

2 Inform

a

T

w

smXmp

P

S

o

tfippt

Ops

ig

As�

1

bmwtet

Lwtpv

PU

08 A. Coté et al. / Sustainable Computing:

nd also

Ex[OPT] = �2(˛ + 1) + (1 − �2)2 · 2 + �2(1 − �2) · ˛

= 2 + 2(1 − �2)2

≥ 4 − 4�2.

hus, it follows that every algorithm must satisfy Ex[ALG]Ex[OPT] ≤ 3−�2

4−4�2

hich tends to 34 as �2 goes to 0.

Now, for Ex[

ALGOPT

], consider the above instance repeated in

equence m times, where m ≥ 1 is some integer to be later deter-ined. We’ll refer to the packets in the i-th repetition Ai and Bi. Letbe the event there is at most one t with �(t) = w (i.e. our predictorakes at most one mistake) and, if it exists, t is odd. Note that the

robability that X occurs is precisely

r(X) = (1 − �2)2m + m�2(1 − �2)2m−1.

uppose we set m ≈ 1−�2�2

(we’ll assume equality here for simplicity

f analysis). Then Pr(X) = 2(1 − �2)2m ≥ 2e2 . This means

Ex[

ALG

OPT

]= Ex

[ALG

OPT

∣∣∣X]

Pr(X) + Ex[

ALG

OPT

∣∣∣ X]

Pr(X)

≤ Ex[

ALG

OPT

∣∣∣X]

Pr(X) + 1 · (1 − Pr(X))

= 1 −(

1 − Ex[

ALG

OPT

∣∣∣X])

Pr(X)

≤ 1 − 2e2

(1 − Ex

[ALG

OPT

∣∣∣X])

.

Consider the performance of ALG when there are no predic-ion errors. Let pi be the probability that ALG sends Ai during therst timestep of the i-th repetition. Then even in the presence ofrediction errors, ALG must follow these probabilities until somerediction error is made. Thus, we can bound Ex

[ALGOPT

∣∣X]

usinghese probabilities.

If the (single) prediction error occurs then OPT = 2m + ˛ − 2.therwise, OPT = 2m. ALG follows the probabilities pi until somerediction error is made. After any such error, we’ll assume forimplicity that ALG follows an optimum schedule (this can only

mprove the performance of ALG). Then if we set ˛ = (1−�2)2

�2+ 2 we

et the inequality shown in Fig. 1.Note the second from last inequality uses the observation that

LG does best when pi = 1. It is easy to check that the above expres-ion is maximum at 9

10 when �2 = 0.5. It also tends towards 1+2e3e as

2 approaches 0. Thus, for any algorithm, the limit of Ex[

ALGOPT

]as

2 approaches 0 is bounded by (1 − 2(e−1)3e3 ) ≈ 0.943. Again, Lemma

3 tells us that no algorithm can have Ex[

OPTALG

]< 1.060. �

Thus, the above examples show us that any algorithm can againe a fixed constant away from optimum under any of the perfor-ance metrics. For any given �2, we can select sufficiently highireless values so that mispredictions become significant enough

o affect our performance ratios. Thus, we should ensure that ourrror �2 scales with respect to the ratio of maximum packet valueo minimum packet value.

emma 18. Let L = max p(dp − ap) be the length of the longest packetindow. Then if �2 is independent of L , no algorithm can guaran-

ee performance better than a fixed constant using any of the threeerformance ratios. This holds even if all packets have identical WiFi

alues.

roof. Again, let ı1 = ı2 = �1 = 0 and consider the following= S = S:

atics and Systems 1 (2011) 196–212

ap dp cp wp

A 0 1 2 3B 0 m + 1 1 3

where m is such that (1 − �2)m = 12 (or approximately). Here

�(0) = w and �(t) = c for all other t > 0. Notice that the example isconstructed such that ALG has the same expected value of 5 + �2whether it sends A at time t = 0 or B at time t = 0. The expectedvalue of the optimum offline solution is

Ex[OPT] = 6�2 + (1 − �2)3 + (1 − �2)52

= 11 + �2

2.

It follows that Ex[ALG]Ex[OPT] ≤ 10

11 .

On the other hand, if ALG seeks to maximize Ex[

ALGOPT

]then it is

easy to see that its best option is to send A at time t = 0. In this case,

Ex[

ALG

OPT

]= �2 + (1 − �2)

12

+ (1 − �2)25

= 9 + �2

10.

Thus, Ex[

ALGOPT

]≤ 9

10 and, by Lemma 13, Ex[

OPTALG

]≥ 10

9 . �

This example shows that we cannot hope to have performancearbitrarily close to optimum unless �2 is dependent on the windowlength L for any packet.

8.4. Getting arbitrarily close to OPT with identically valuedpackets

We now show how to be arbitrarily close to OPT, using theEx

[ALGOPT

]and Ex[ALG]

Ex[OPT] metrics, when all packets are identically val-ued (i.e. equal cellular values and equal WiFi values). Our resultalso holds for the Ex

[OPTALG

]metric if there are no false positive

errors. Note that Lemma 16 tells us that our false-negative errorrate ı2 must depend on Q in some fashion. We will show that asε = max {ı1, Qı2, �1, �2} diminishes we can get arbitrarily close tooptimum performance. Additionally, our algorithm does not needto know the prediction error rates, nor does it need to explicitlycalculate Q.

Our algorithm works as follows: If t is a cellular timestep, con-struct a max-value matching of known or predicted packets totimes t + 1 onwards using cellular values. Send any unmatchedpacket with earliest deadline. If t is a WiFi timestep, send any packetwith earliest deadline. We’ll assume that once a packet is matched,it never becomes unmatched (though it may change the time towhich it is matched).

Theorem 15. Let ε = max {ı1, Qı2, �1, �2} . Then when packets haveidentical cellular values and identical WiFi values, the above algorithmsatisfies Ex[ALG]

Ex[OPT] ≥ 1 − O(ε) and Ex[

ALGOPT

]≥ 1 − O(ε) . We additionally

have Ex[

OPTALG

]≤ 1 + O(ε) when ı1 = �1 = 0.

Proof. We first assume that ı1 = �1 = 0. We can easily show thatALGw ≥ OPTw (and thus ALGw − ALGwc ≥ OPTw − OPTwc) since wenever send a packet until it no longer fits in the feasible schedule(and we send packets earliest-deadline-first). In particular,

Ex[ALGw − ALGwc |ALG = x] ≥ Ex[OPTw − OPTwc |ALG = x].

Suppose some unpredicted packet that OPT sends, but ALG doesnot, arrives at time t. Note that for such a packet to exist, it mustbe the case that ALG sends something at time t (otherwise it wouldschedule this packet at time t or later). Thus, given that ALG sendssomething at time t, the expected number of these packets is ε.Given that ALG sends nothing at time t, the expected number of

these packets is 0. Thus, given that ALGc + ALGwc = y, OPT can getexpected cellular value at most εy from these packets. Then

Ex[OPTc + OPTwc |ALG = x] ≤ (1 + ε)Ex[ALGc + ALGwc |ALG = x].

Page 14: Energy-efficient mobile data transport via online multi-network packet scheduling

A. Coté et al. / Sustainable Computing: Informatics and Systems 1 (2011) 196–212 209

ig. 1.

E

T

a

Twa

oaa

8p

va

mpoLor

F

Summing our two inequalities above gives:

x[OPT |ALG = x] ≤ (1 + ε)Ex[ALG|ALG = x] = (1 + ε)x.

his implies

Ex[OPT] =∑

x

Ex[OPT |ALG = x]Pr(ALG = x)

≤ (1 + ε)∑

x

Ex[ALG|ALG = x]Pr(ALG = x)

= (1 + ε)Ex[ALG]

nd

Ex[

OPT

ALG

]=

∑x

Ex[

OPT

ALG

∣∣∣ALG = x]

Pr(ALG = x)

=∑

x

Ex[

OPT

x

∣∣∣ALG = x]

Pr(ALG = x)

=∑

x

Ex[OPT |ALG = x]x

Pr(ALG = x)

≤∑

x

(1 + ε)Pr(ALG = x)

= (1 + ε).

hus we have that both Ex[ALG]Ex[OPT] ≥ 1

1+ε and that Ex[

OPTALG

]≤ (1 + ε)

hen there are no false-positive errors. We can use Lemmas 13nd 15 to finish the claim. �

In fact, this result can be strengthened so that ε need not dependn the error rates �1, �2. This simply follows from the fact that ourlgorithm is optimal when packets are offline and connectivitiesre online as shown in Theorem 6.

.5. Getting arbitrarily close to OPT with equal-WiFi-valueackets

Now, consider the case where all packets have equal WiFialues, but cellular values can vary. In this case, we show howpproach optimum performance using the Ex

[ALGOPT

]and Ex[ALG]

Ex[OPT]

etrics. Again, our result holds for Ex[

OPTALG

]if there are no false

ositives. Both Lemmas 16 and 18 apply so we need ı2 to depend

n Q and �2 to depend on L. We will show that if ε = max {ı1, Qı2, �1,�2} goes to 0, we will be arbitrarily close to optimum. As before,ur algorithm will not require knowledge of the prediction errorates, nor will it need to explicitly calculate Q or L.

Our algorithm works as follows: At each timestep t, we take allknown or predicted packets and construct a max-value schedulefrom time t onwards using our WiFi predictions. We will place eachcellular packets p as late as possible in this schedule so that thereare packets scheduled at every time in [t, dp] (otherwise, we couldplace packet p at a later time). We order WiFi packets to followan earliest deadline first policy; so for WiFi packets p, q we have pscheduled before q whenever dp < dq.

If no connectivity misprediction occurs on time t, then we sendthe scheduled packet, if any. However, if t is an unpredicted WiFitimestep, we calculate the maximum window size L among allknown packets and do one of two things: If t falls within L timestepsof a previously sent WiFi packet or a scheduled WiFi packet, then weignore WiFi and treat t as if it was a cellular timestep (we call theseignored WiFi timesteps). Otherwise, we recalculate our max-valueschedule and send any scheduled packet. These latter timestepswill be referred to as outcast WiFi timesteps.

Theorem 16. Let ε = max {ı1, Qı2, �1, L�2}. Then when packetshave identical WiFi values, the above algorithm satisfies Ex[ALG]

Ex[OPT] ≥1 − O(ε) and Ex

[ALGOPT

]≥ 1 − O(ε1/4). We additionally have Ex

[OPTALG

]≤

1 + O(ε1/4) when ı1 = �1 = 0.

Proof. Consider the ignored WiFi timesteps and let OPTignoredbe the total value OPT gets from these timesteps. For each suchtimestep t, ALG sends a WiFi packet within L timesteps of t. Thisis clear if t was ignored due to a previously sent WiFi packet. Ift was ignored due to an upcoming WiFi packet p at time t′, it iseasy to see that ALG must send some packet at t′ (though not nec-essarily p). Then for each packet that ALG sends at predicted oroutcast WiFi timestep t, there are, in expectation, 2ε ignored WiFitimesteps within L timesteps of t. In particular, if ALGwpred andALGoutcast denote the value ALG receives from predicted and outcastWiFi timesteps, then we have

Ex[OPTignored|ALGwpred + ALGoutcast = x] ≤ 2εx

This gives both

Ex[OPTignored] ≤ 2ε · Ex[ALG] and Ex

[OPTignored

ALG

]≤ 2ε.

Now consider the unpredicted packets that OPT sends cellularly,but ALG never sends (call these kicked packets). Let OPTkicked denotethe value OPT receives from these packets. Consider one such packetp and let t be the earliest time in [ap, dp] that it is not in the feasible

Page 15: Energy-efficient mobile data transport via online multi-network packet scheduling

2 Inform

slgpaiei

E

HE

mbavfs

E

w

E

OfNucroteA

taifhamNfiliaaE

popsb

E

T

10 A. Coté et al. / Sustainable Computing:

chedule. For this to happen, it must be that ALG received value ateast cp at time t. Otherwise ALG could have swapped p in to getreater value. Notice that the maximum number of unpredictedackets that can arrive at t is Q (each arriving with probability ı2),nd so the maximum number of kicked packets at each timesteps at most Q. Thus, given that ALG sends something at time t, thexpected number of kicked packets at time t is at most ε. Thismmediately gives

x[OPTkicked] ≤ ε · Ex[ALG].

owever, note that we do not necessarily have a bound onx[OPTkicked | ALG = x] since the fact that ALG = x may give away infor-ation on whether certain kicked packets arrived. Instead, let ALG

e the value ALG would receive if none of the kicked packets hadrrived. Clearly, ALG ≤ ALG, but ALG will still send sufficiently-aluable packets at each time some packet was kicked. Now, theact that ALG = x does not increase the likelihood of kicked packetso we have

x[OPTkicked|ALG = x] ≤ εx

hich implies

x[

OPTkicked

ALG

]≤ Ex

[OPTkicked

ALG

]≤ ε

Finally, consider all the remaining packets of OPT and letPTremaining = OPT − OPTignored − OPTkicked be the value OPT gets

rom these packets. Consider running ALG on just these packets.otice that ALG can only make two types of mistakes here: (1) somenpredicted packet arrives (call this a bad packet) and, since weonsider only non-kicked packets, causes a predicted packet to beemoved from the feasible schedule and (2) an outcast WiFi timeccurs and ALG loses the opportunity to collect the cellular value ofhe scheduled packet. Let Y be the total value lost due to bad pack-ts and Z be the value lost due to outcast WiFi times. Then we haveLG + Y + Z ≥ OPTremaining.

Assume for now that at most one bad packet arrives at anyimestep. Notice that any bad packet must cause the removal of

cellular packet from the feasible schedule (there is never anyncentive for ALG to completely remove a WiFi packet from theeasible schedule). Thus, if a bad packet arrives at time t (whichappens with probability at most ε), then it causes ALG to loset most the value of what is scheduled at time t. Thus, sum-ing over all timesteps the expected loss is Ex[Yfirst] ≤ ε · Ex[ALG].ow, consider all bad packets arriving at time t beyond therst. We can assume without loss of generality that ALG receives

ess value from these packets than the first bad packet. Since,n expectation, there are at most ε of these and they all cause

loss at most their value, the expected loss due to thesedditional bad packets is Ex[Yrest] ≤ ε · Ex[ALG]. Thus, we havex[Y] = Ex[Yfirst] + Ex[Yrest] ≤ 2ε · Ex[ALG].

Let p be a packet sent by ALG. There are at most L timesteps in’s window and thus a probability of most ε that some outcast WiFiccurs in its window. If this outcast WiFi time is precisely whenis scheduled, we lose the chance to get p’s cellular value. Thus,

umming over all packets ALG sends gives E[Z] ≤ ε · Ex[ALG]. Theny linearity of expectation, we have

x[Y + Z] = 3ε · Ex[ALG].

his immediately gives

Ex[OPT] = Ex[OPTignored] + Ex[OPTkicked] + Ex[OPTremaining]

≤ Ex[OPTignored] + Ex[OPTkicked] + Ex[ALG] + E[Y] + E[Z]

≤ (1 + 6ε) · Ex[ALG].

atics and Systems 1 (2011) 196–212

Moreover, using Markov’s inequality gives Pr(Y + Z ≤ x) ≥ 1 −3ε·Ex[ALG]

x . Thus

Ex

[ALG

OPTremaining

]≥ Ex

[OPTremaining − Y − Z

OPTremaining

]

≥ Ex

[1 − Y + Z

OPTremaining

]

≥∑

x

[(1 − x

OPTremaining

)Pr(Y + Z ≤ x)

]

≥ maxx

[(1 − x

OPTremaining

)Pr(Y + Z ≤ x)

]

≥ maxx

[(1 − x

OPTremaining

)(1 − 3ε · Ex[ALG]

x

)].

If we assume that ALG ≤ OPTremaining (this can only lower theexpected value) and set x = Ex[ALG] · √

ε we get

Ex

[ALG

OPTremaining

]≥ (1 − 3

√ε)

2.

Since ALG + Y + Z ≥ OPTremaining we know ALG is 3-competitiveagainst OPTremaining, so applying Lemma 14 gives

Ex

[OPTremaining

ALG

]≤ 1 + 6

√2√

ε − ε = 1 + O(ε1/4).

Summing the corresponding inequalities gives

Ex

[OPT

ALG

]≤ Ex

[OPTignored + OPTkicked + OPTremaining

ALG

]= 1 + O(ε1/4).

8.6. Getting arbitrarily close to OPT with arbitrary-value packets

In the most general case, we have the additional constraint that�2 must depend on V due to Lemma 17. In fact the same algorithmas in the equal WiFi case gives similar guarantees for the arbitraryvalue packets case when we assume LV�2 ≤ ε. The proof of this fol-lows from minor modifications of the proof of Theorem 16. Here,the added assumption that LV�2 ≤ ε allows us to retain our claimfor OPTignored. When considering OPTremaining we must also consideradditional mistakes due to WiFi values during outcast WiFi times.However, the same assumption allows us to claim that the expectedloss in this WiFi value is at most ε · Ex[ALG]. The remainder of theproof carries through without further modification.

Theorem 17. Let ε = max {ı1, Qı2, �1, LV�2}. Then the algorithmabove satisfies Ex[ALG]

Ex[OPT] ≥ 1 − O(ε) and Ex[

ALGOPT

]≥ 1 − O(ε1/4). We

additionally have Ex[

OPTALG

]≤ 1 + O(ε1/4) when ı1 = �1 = 0.

9. More than 2 networks

Throughout this paper, we have considered only two networks.A natural generalization is to 3 or more networks where each packetp is then specified by a larger tuple (ap, dp, vp,1, vp,2, . . . , vp,k)where vp,i denotes its value if sent over network i. Here, we assumenetworks have a total ordering in terms of energy-efficiency so thevalues for each packet satisfy vp,i ≤ vp,i+1 for all i. Thus at any giventime we need only consider sending over the most energy-efficientnetwork to which we have a connection (and, for simplicity, we’ll

assume that we always have a connection to at least one of thesenetworks).

Unfortunately, we can show that no deterministic algorithm canbe c-competitive for any c:

Page 16: Energy-efficient mobile data transport via online multi-network packet scheduling

Inform

Ti

Palpapcndhw

l

T-

PoIc

mppsSr

afitacta

T

Putftdatp

A

Met

Av

yd

A. Coté et al. / Sustainable Computing:

heorem 18. No deterministic algorithm can have competitive rationdependent of values.

roof. We consider instances with one packet and two time stepsnd three network types. Thus, this also shows that there’s veryittle we can do to obtain superconstant competitive ratios (exceptossibly if we have dependence on ratio of values). The example iss follows: Suppose at time 0 we have type-2 connectivity and aacket A = (0, 1, 1, ˛, ˛2) arrives where ˛ > c. For our algorithm to be-competitive, it cannot send the packet at this time step since theext time step could have type-3 connectivity. Similarly, it cannotelay the packet at this time step since the next time step couldave type-1 connectivity. However, it must do one of the two soe have a contradiction. �

Things are not as bad for randomized algorithms, but a largeower bound can still be demonstrated:

heorem 19. No randomized algorithm can be better than (k − 1)competitive

roof. We define a collection of instances I0, . . . , Ik−2 each withne packet A = (0, k − 1, 1, ˛, . . ., ˛k−1) and k − 1 timesteps. Instancei has type-j connectivity in timestep j − 2 for 2 ≤ j ≤ i + 2 and type-1onnectivity everywhere else.

Suppose we have an r-competitive randomized algorithm. Itust send A at time 0 with probability p ≥ 1

r in order to be com-etitive on instance I0. Similarly, it must send A at time 1 withrobability p ≥ 1

r to be competitive on instance I1. Thus, it mustend A with probability at least 1

r on each of the k − 1 timesteps.ince the sum of these probabilities must be at most 1, we get≥ k − 1. �

While there is no hope for a deterministic algorithm, we can giverandomized ek

e−1 -competitive algorithm. This algorithm works asollows: When a packet comes in, we randomly and uniformly des-gnate it a specific network to be sent over. Whenever we have aimestep with network i connectivity, we run the e

e−1 -competitivelgorithm of [2]. Since the e

e−1 -competitive algorithm has the spe-ial property that it can operate if only given relative deadlines ofhe packets, the non-persistance of network connections will notffect its performance.

heorem 20. The algorithm above is (ek)/(e − 1) -competitive.

roof. Consider the set OPTi of packets the optimum offline sched-le sends over network i. If we are given only this set of packetshen we obtain at least (e − 1)/e times the optimum offline valueor this network. If we increase the set of packets given, thenhis can only increase the value we obtain. Now, if packets ran-omly arrive with probability 1

k , then in expectation we will beble to obtain at least ((e − 1)/(ek))OPTi. It follows that in expec-ation ((ek)/(e − 1))v(ALGi) ≥ OPTi. Summing over all i finishes theroof. �

cknowledgements

We would like to thank Professor William Kaiser (UCLA), Dr.axim Batalin, Zainul Charbiwala and Digvijay Singh for many

nlightening discussions about the current state of mobile dataransport research.

ppendix A. Online maximum-weight matching withertex locking

This section provides the 2-competitive algorithm and anal-sis for Online Maximum-Weight Matching with Vertex Lockingescribed in [4]. To simplify the analysis, we assume that at each

atics and Systems 1 (2011) 196–212 211

time step either one new node of A arrives or one new node of Blocks.

The algorithm proceeds as follows: At each time, compute thematching (At, B, Ft) which is the maximum-weight matching of theset At of A nodes which have arrived by time t with B subject to therequirement that the locked edges Ft be included in the matching(Ft also includes “null” edges for unmatched locked nodes). When-ever a new node locks, add the appropriate edge from our currentmatching to Ft.

Let f(At, B, Ft) be the cost of matching (At, B, Ft). Suppose thatnode a ∈ A arrives at time t. Define �a to be the change in the costof the optimum matching due to this arrival. Thus by definition�a = f(At, B, Ft) − f(At−1, B, Ft−1) with the observation that Ft = Ft−1and At = At−1

⋃{a}. For any b ∈ B, define �t(b) = f(At, B, Ft) − f(At,

B − {b}, Ft). For any b ∈ B, let vb be the weight of the matching edgefor b in the algorithm’s final solution (or vb = 0 if b is unmatched).We observe that the algorithm’s total weight is given by:

ALG =∑b ∈ B

vb =∑a ∈ A

�a

Lemma 19. The value of �t(b) is non-decreasing with time.

Proof. If at time t a new vertex becomes locked then Ft−1 ⊂ Ft andAt−1 = At. Since we pick the appropriate edge from (At, B, Ft−1) wehave f(At, B, Ft) = f(At, B, Ft−1). This new locked edge can only reducethe weight of the best matching to B − {b} so f(At, B − {b}, Ft) ≤ f(At,B − {b}, Ft−1). Thus, �t(b) ≥ �t−1(b).

If at time t a new vertex a arrives, then At−1 ⊂ At. One way tocalculate f(At, B − {b}, Ft) uses a flow formulation. We add a sourcevertex incident to each vertex in At and a sink vertex adjacent to allvertices in B − {b}. These new edges will have weight 0 and capacityone. All edges between At and B − {b} will remain unchanged andhave capacity one. Then we can find a maximum weight maximumflow to identify our maximum weight matching (since all capacitiesare integral, we know our flow precisely defines a matching). Weaugment B with “dummy” vertices and connect them to the verticesof A with edges of capacity one and weight zero, so as to guaranteethat the max-weight flow will saturate all edges from source to At.We can also do this to calculate f(At−1, B, Ft).

Consider taking the two graphs from these two instances andsuperimposing them (by merging identical vertices). Capacities ofany identical edges will add, but we keep their weights constant.Now, all edges are capacity 2 except for those edges incident on a orb. Notice that the individual flows for these two graphs simply addand still form a valid flow. If we consider a maximum weight flowf∗ over this new graph, then clearly weight(f ∗) ≥ f (At, B − {b}, Ft) +f (At−1, B, Ft).

We now show that f∗ can be decomposed into flows for f(At, B,Ft) and f(At−1, B − {b}, Ft) which proves our claim. It is clear thatin f∗ the unweighted flow value is 2 | At | − 1. Thus, each At vertexexcept a has two units of flow passing through it. So starting from a,we can follow the flow, alternating between B and A vertices. Thisprocess must stop at a B vertex and so the path has an odd numberof edges. We can then add the flow along each odd edge to f(At, B,Ft) and the flow along each even edge to f(At−1, B − {b}, Ft). Oncethis is done, we remove this flow. Note that A vertices now eitherhave 0 units of flow, or 2 units of flow. If b was not involved inthis path, then we can start from b and do the same process (beingsure to add the flow involving b to f(At, B, Ft)). Again, the A verticesstill have either 0 or 2 units of flow. Once a and b are handled,then the remainder of the flow can similarly be decomposed. This

constructs valid flows for f(At, B, Ft) and f(At−1, B − {b}, Ft). Thusweight(f ∗) ≤ f (At, B, Ft) + f (At−1, B − {b}, Ft). �

Theorem 21. The algorithm is 2 -competitive.

Page 17: Energy-efficient mobile data transport via online multi-network packet scheduling

2 Inform

Pal

tBfilwm

R

[

[

[

[

[

[[[

September of 2011. His primary research interests includethe design and analysis of exact, approximation and onlinealgorithms, but he also holds interests in linear/non-linearoptimization, graph theory, game theory and combina-torics.

12 A. Coté et al. / Sustainable Computing:

roof. Consider any nodes a ∈ A and b ∈ B. Suppose that a arrivest time t, and that ab is a possible match (this requires b not yetocked at time t). We can write the following:

�a + �t−1(b) = [f (At, B, Ft) − f (At−1, B, Ft)] + [f (At−1, B, Ft)− f (At−1, B − {b}, Ft)] = f (At, B, Ft) − f (At−1, B − {b}, Ft).

The last expression must be at least wab since one way to formhe matching (At, B, Ft) involves taking the matching (At−1,− {b}, Ft) and augmenting by the edge (a, b). If we let � be thenal time for the algorithm (at which we can assume all of B is

ocked) then by Lemma 19 we have �a + ��(b) ≥ wab. By definition,e have vb = ��(b). Summing both sides over pairs (a, b) which areatched in the optimum offline solution completes the proof. �

eferences

[1] N. Balasubramanian, A. Balasubramanian, A. Venkataramani, Energy consump-tion in mobile phones: a measurement study and implications for networkapplications., in: Proceedings of the 9th ACM SIGCOMM Conference on InternetMeasurement Conference (IMC’09), 2009, pp. 280–293.

[2] Y. Bartal, F.Y.L. Chin, M. Chrobak, S.P.Y. Fung, W. Jawor, R. Lavi, J. Sgall, T. Tichy,Online competitive algorithms for maximizing throughput of unit jobs, DiscreteAlgorithms 4 (2) (2006) 255–276.

[3] M. Chrobak, W. Jawor, J. Sgall, T. Tichy, Improved online algorithms for buffermanagement in QoS switches, ACM Transactions on Algorithms 3 (4) (2007)50.

[4] A. Coté, A. Meyerson, A. Roytman, M. Shindler, B. Tagiku, Energy-efficient onlinescheduling with deadlines, Technical report, University of California, Los Ange-les, 2010.

[5] M. Englert, M. Westermann, Considering suppressed packets improves buffermanagement in QoS switches, in: Proceedings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA’07), 2007, pp. 209–218.

[6] R. Entner, Smartphones to overtake feature phones in U.S. 2011, 2010.[7] F. Hossein, K. Srinivasan, Trace-based analysis of Wi-Fi scanning strategies, ACM

SIGMOBILE Mobile Computing and Communications Review (2009) 73–76.[8] H. Bruce, On the competitiveness of on-line scheduling of unit-length pack-

ets with hard deadlines in slotted time, in: Proceedings of the Conference onInformation Sciences and Systems, 2001, pp. 434–439.

[9] Gartner Inc. Gartner says worldwide mobile phone sales to end users grew 8percent in fourth quarter 2009; market remained flat in 2009. Press Release,2010.

10] K. Alexander, L. Avi, M. Yishay, P.-S. Boaz, S. Baruch, S. Maxim, Buffer overflowmanagement in QoS switches, in: Proceedings of the Thirty-Third Annual ACMSymposium on Theory of Computing (STOC’01), 2001, pp. 520–529.

11] F. Li, J. Sethuraman, C. Stein, An optimal online algorithm for packet scheduling

with agreeable deadlines, in: Proceedings of the Sixteenth Annual ACM-SIAMSymposium on Discrete Algorithms (SODA’05), 2005, pp. 801–802.

12] F. Li, J. Sethuraman, C. Stein, Better online buffer management, in: Proceed-ings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms(SODA’07), 2007, pp. 199–208.

atics and Systems 1 (2011) 196–212

13] C. Song, Z. Qu, N. Blumm, A.-L. Barabási, Limits of predictability in humanmobility, Science 327 (5968) (2010) 1018–1021.

14] Y. Wang, J. Lin, M. Annavaram, Q.A. Jacobson, J. Hong, B. Krishnamachari, N.Sadeh, A framework of energy efficient mobile sensing for automatic user staterecognition, in: Proceedings of the 7th International Conference on Mobilesystems, Applications, and Services (MobiSys’09), 2009, pp. 179–192.

15] J. Wortham, AT&T to urge customers to use less wireless data, 2009.16] J. Wortham, Customers angered as iPhones overload AT&T, 2009.17] H. Wu, K. Tan, J. Liu, Y. Zhang, Footprint: cellular assisted Wi-Fi AP discovery on

mobile phones for energy saving., in: Proceedings of the 4th ACM InternationalWorkshop on Experimental Evaluation and Characterization (WINTECH’09),2009, pp. 67–76.

Aaron Coté received his B.S. in Computer Science from theUniversity of Washington in 2002. He received his M.S.and Ph.D. in Computer Science from the University of Cal-ifornia, Los Angeles in 2010. He is currently a Lecturer atthe University of Southern California. His research inter-ests include online algorithms, game theory, and powermanagement.

Adam Meyerson received his Ph.D. in 2002 from StanfordUniversity, under the supervision of Prof. Serge Plotkin.After a year as a postdoctoral fellow with the Aladdinproject at Carnegie-Mellon, he joined the faculty of theUniversity of California, Los Angeles as an assistant pro-fessor. He will be moving to Google as of June 2011. Hisresearch interests include online and approximation algo-rithms, game theory, and metric embedding.

Brian Tagiku received his B.S. (2005) in Computer Sci-ence and Mathematics from Harvey Mudd College and hisM.S. (2007) and Ph.D. (2011) in Computer Science fromUCLA. He will be joining Google as a software engineer in