UPDATE: User-Profile-Driven Adaptive TransfEr Yichuan Wang
Xin Liu
Department of Computer Science University of California, Davis Davis, California 95616 Email:
[email protected]
Department of Computer Science University of California, Davis Davis, California 95616 Email:
[email protected]
Abstract—Cellular operators are facing great challenges in satisfying the increasing wireless service demand. However, not all traffic is created equal, many popular applications on mobile devices, such as data synchronization and content uploading are delay tolerant. Such delay-tolerant applications can be leveraged to improve network resource utilization and reduce network congestion, by opportunistically scheduling their transmission when the network condition is more favorable. In this paper, we present UPDATE, a network-friendly operation framework for the opportunistic transmission of delay-tolerant data. UPDATE framework relies on the mathematical theory of optimal stopping in conjuncture with user profile, which is individual user’s local history data including time and corresponding network condition. UPDATE selects the optimal transmission time before a pre-defined deadline, while accommodating spontaneous user requests for immediate transmissions. UPDATE also considers batching multiple transmissions (with different deadlines) to reduce the overhead. Simulations using real and synthetic traces show that UPDATE can reduce up to 40% network resource consumption, with little impact to user experience. Our proposed schemes are simple yet effective, and can be implemented on mobile platforms.
I. I NTRODUCTION Cellular operators are facing great challenges in satisfying the increasing wireless service demand. Mobile Internet is experiencing unforeseen growth in number of users, capability of devices and most importantly, volume of traffic. There are 717 million 3G subscribers globally in 2009 [1], and it is projected to reach 2776 million in 2014 [2]. Impressive mobile devices, such as smartphones and tablet PCs, are the fastest selling consumer electronics ever. These devices enable gamechanging applications, such as video streaming and social networks on mobile Internet. As a result, mobile Internet has 240,000 terabytes of traffic in 2010, which is expected to grow to 6.3 exabytes (106 terabytes) in 2015 [3]. While mobile traffic imposes great pressure on service providers, not all traffic is created equal. Many popular applications on mobile devices, such as email synchronization and social network updates are delay tolerant. Furthermore, data from a large cellular network shows that there exists a significant lag between content generation and user-initiated upload time — more that 55% uploaded content on mobile network is at least 1 day old [4]. In addition to existing delaytolerant applications, service providers are also considering dynamic pricing that incentize certain applications and users to be more flexible in when to transmit [5], [6]. Such delay-
tolerant applications can be leveraged to improve network resource utilization and reduce network congestion, by opportunistically scheduling their transmission when the network condition is more favorable. In this paper, we present UPDATE, a network-friendly operation framework for the opportunistic transmission of delaytolerant data, in anticipation of a better network condition, thus to reduce the load on cellular networks. Due to mobility and network dynamics (e.g., fading and load), network condition perceived by a mobile device, including available networks, signal strength, and network congestion, is time varying. When the network condition is more favorable, transmitting the same amount of data takes a significantly shorter time, and thus consumes less resource from the underlying cellular network, as well as less transmission energy on the mobile device. However, to find the optimal schedule, one has to be able to estimate future network condition. UPDATE employs user profile, the history data of user’s network condition, to archive that. The rest of the paper is organized as follows. In Section II, we discuss the related work. Previous work proposed different ideas on leveraging delay tolerant data. However, none of them leverage user-profile data for estimate future network conditions, which is essential in UPDATE. In Section III, we motivate our work by showing the importance of user profile in network condition prediction and opportunistic transmission. In [7], [8], the authors point out that individual human mobility patterns are highly predictable. Since network condition, such as available network and signal strength, is location dependent, it also has predictability. Our key contribution is a framework called User-Profile Driven Adaptive Transfer (UPDATE), which leverages delay tolerant data for saving mobile network resource. In Section IV, we provide a mathematical optimization framework based on sequential decision theory to study optimal transmission for users under a given deadline. History user network condition profile is used to infer future network condition in our framework. We develop our framework on top of traditional optimal stopping techniques [9], [10]. We formulate our problem as an optimal stopping problem which schedules transmission to minimize the network resource consumption under a given transmission deadline, with possible userrequested immediate transmission at anytime. We find that optimal policy for this problem is a threshold policy. We
2
also study the case of multiple data transmissions and present a sequential algorithm to determine when to batch multiple transmissions of different deadlines. In Section V, we present the design of UPDATE framework. The three major component of the system are introduced: user profiler, threshold generator, and transmission scheduler. User profiler runs on the user device and collects network condition data. With user profile, threshold generator calculates the threshold table, which can happen during device charging time or on demand. The transmission scheduler choose optimal time to transmit at runtime given the current network condition. We evaluate the performance of UPDATE with extensive simulation using both real-trace and synthetic data in Section VI. Our simulation showed that UPDATE can reduce the network resource consumption by 40% with an average delay of 30 min. As a byproduct, UPDATE also extends battery life of mobile devices, as it requires less energy to transmit when network condition is better. II. R ELATED WORK The idea of leveraging delay tolerant data has been studied in the literature. In [11], the authors considered exploiting delay tolerant data for energy saving on mobile phones by choosing from different network interfaces (cellular, WiFi) if available. An online link selection algorithm based on Lyapunov framework is proposed. While focus on the tradeoff between energy saving and delay, the paper uses a simple network predictor which averages over a short period of time in the past to predict future network connectivity or link transmission rate. This method is not accurate especially when the link to be estimated has not been actively used for some time. Previous work also considered deferring delay tolerant data to reduce network load. In [12], the author propose to use WiFi network whenever possible to offload data from 3G connections. The authors propose to use recent WiFi availability to predict the future availability, which is suitable for vehicular users. Compared with these two approaches, our work applies to a much larger time scale (minutes to hours) and explicitly leverages user profile (days to months), as discussed in more detail in Section III. Along the same line, closest to our work is [13]. The authors proposed separate algorithms for different applications to schedule data towards better signal strength. The network prediction is location based, several user paths are stored, and user’s current path have to be identified before signal can be processed. However without using expensive services such as GPS, accurate location is hard to obtain. Further, the feasibility of identifying and collecting user path without accurate location deserves further study. Compared to all the above-mentioned work, we apply different mathematical tools. We explicitly consider deadline constraints and spontaneous user demand. In [4], the authors showed that there are significant delay between content generation and uploading. The paper proposed changing the network architecture to add drop zones for offloading uplink traffic, which requires extra investment. Our work is partially motivated by the observation in [4] based
on large-scale real cellular traces although our technique is completely different. Dynamic congestion-based pricing has been considered in cellular networks to provide incentive for certain applications and users to be more flexible in when transmissions occur [5] and a trial is being conducted by Princeton researchers on AT&T networks [6]. Our scheme is complementary to pricing-based incentive schemes. Batching has also be considered in the literature. In [14], based on the measurement of tail energy in the various network, the authors proposed a protocol called TailEnder. The protocol only considers the transmission overhead, tail energy when optimizing. The author acknowledge that the arrival is unknown, so a heuristic algorithm is used which can be suboptimal. In [15], the author proposed to tackled the tail behavior of network using a timer alignment techniques. Basically timer alignment works on the current available jobs without considering future arrivals, which can generate suboptimal results, especially when arrivals happen relatively often. The author of [16], propose to optimize the UMTS radio resource management state machine in order to balance energy saving and performance. The author analyzed large amount of data, and found that any static setting of the state machine would not work well. This observation motivates our work, optimal solution requires (semi-)realtime optimization using history data. III. U SER P ROFILE In this section we elaborate on the importance of individual user profile. We are inspired by previous study of human mobility patterns [7], [8]. Individual human mobility is highly predictable. Since network condition is location dependent, it is predictable as well. However different users have drastically different mobility patterns. Furthermore, there are distinctive modes in human mobility, e.g. human behave totally different on weekdays than on weekends. User network profile also captures this kind of context information. Our goal is to minimize network resource usage while bounding the transmission delay. To achieve this, one has to be able to predict future network condition well, or informally, what is the probability of getting a good signal in a period of time in the future (say minutes or hours). This cannot be answered only using the recent past measurements. In fact, this is impossible without knowledge of user behavior. For example, it is proposed to uses the last several measurements as the prediction of future network condition [11], [12]. This approach is appropriate for a small time scale (e.g., within minutes). Since network condition tends to change with location, a user can be in several different locations during the allowed delay. Fig. 1 showed such an example. Because of the time scale, averaging over recent measurements will not give us a helpful prediction until the data transmission deadline. User network profile (say 30 days of data) allows us to look into future based on past patterns, thus can give better insight about future network condition until the deadline, and improves the efficiency. Thus having user network profile of
3
network condition during the allowed delay is crucial for better prediction. 25 Transmission time
Network condition
20
15
10 Current time
Allowed delay
5
0 0
Fig. 1.
5
10
15 Time
20
25
30
The importance of profile.
Using UPDATE with user profile, we have following advantages. First, we greatly improve the network condition prediction, and thus enables a higher gain with less delay. Second, user profile requires no additional energy to collect since all the data is readily available. The calculation of user profile is not intense, and can be done at charging time, thus impose little impact on user experiences. Third, user profile is collected locally on the phone only, there is no additional network communication or privacy issue. Finally at run time, UPDATE framework performs only a simple table look up for transmission request, thus has no impact to battery life or cellular load itself. IV. UPDATE In this section, we introduce UPDATE. We first focus on the case of a single data transmission and then discuss multiple transmissions. A. System Model We assume time is slotted in our system. When a delay tolerant data file (job) becomes available, we start the UPDATE protocol at time slot 1. There is a deadline before which the data has to be transmitted otherwise user experience will be disrupted. In our framework, we call this deadline horizon N . It is possible that the user may spontaneously request the transmission, in which case the data is transmitted immediately regardless of network condition. The time slot that the user decides to force transmission is called freeze time M . We assume all data transmissions (jobs) are of the same size and with the same deadline. Introducing heterogeneity in data size and deadline is not difficult mathematically, but will complicate the presentation significantly. UPDATE is responsible for scheduling the transmission. The goal is to minimize the network resource usage, while bounding the delay of each data transmission. In addition, UPDATE renders instantaneous transmission if requested by the user (i.e., freeze at M ) or at the deadline (N ). Each time slot, we have to make a decision whether to transmit right away or further delay the transmission based on the current network condition, time until deadline, and user network
profile. We assume that data transmission can be completed within one time slot if decided to transmit. At time i, to transmit a job, it consumes Xi unit of network resource, which is a function of the network condition at that time. In addition, we consider transmission overhead, which is due to signaling and tail effect of the cellular network. Therefore, if one job is transmitted, the total network resource cost is Xi + O. On the other hand, if b jobs are transmitted together in a single time slot, the total is b · Xi + O. Therefore, batching multiple jobs reduces overhead. The notations are summarized as follows: • N : Horizon, deadline for data transmission • M : Freeze time, the random time slot if a user requests immediate transmission of a job • Xi : Network resource consumption (cost) for transmitting the job at time slot i, as a function of current network condition. • Ci : Expected network resource cost from time slot i on using an optimal policy. • O: Overhead cost when transmit. We assume Xi s are independent in the analysis. We note that in reality that Xi s are unlikely to be independent over time. However, building a correlation model of Xi is highly complex because it also depends on a lot of contexture information, in particular, time and location. For example, one observes a fast speed WiFi network (say in a coffee shop). This WiFi network may be on his way to work in the morning, but on the way to home in the afternoon. Therefore, we need a Xi (t) model where t is the absolute time (e.g., 8am on Monday at coffee shop). Such a model requests a large amount of data, which may not be feasible in practice. We will discuss this in more detail in Section VII and via simulation in Section VI. Of course, if better models on future network condition are available, better results can be expected. Last, we note that when we use the user profile to estimate distribution of Xi s, as discussed in Section V, the time correlation between Xi s is inherently included. In particular, we use the all history data from the same time period of the day to build a profile for future network conditions. In essence, such profile is built conditioned on the time which is highly correlated to Xi . In addition, if sufficient data is available, we can use history data with the same time and location and further improves prediction. Therefore, our model is more realistic than its first appearance. B. Optimal Stopping We first consider the case where is only one job with a given deadline N . This problem can be tackled as an optimal stopping problem. There are extensive studies on the classical secretary problem where n rankable candidates are interviewed one by one, decisions has to make right away either to accept or to reject this candidate [9]. A rejected candidate cannot be recalled later. The goal is to maximum the probability of getting the best candidate. Secretary problem with random freeze has also been studied [10]. We note that our problem is different from the classic secretary problem because we are
4
trying to minimize the expected cost, instead of maximizing the probability of choosing the best candidate. To the best of knowledge, optimal stopping minimizing the expected cost with random freeze has not been formally studied in the literature. We present an optimal policy here. Our objective is to find an optimal policy for the scheduling problem. The basic idea of finding the optimal policy, principle of optimality, is that at time slot i, we should transmit if the current cost we pay Xi +O is less than the expected cost Ci+1 from time slot i + 1 on using best policy. The Ci+1 serves as a threshold value for the optimal policy, when the cost we pay at current network condition is less than this threshold, we will transmit instead of delaying anymore. Now consider freeze time M . When M = i, i.e., the user requests immediate transmission, the data has to transmit regardless of the current cost. Thus we have the following action: Transmit, M = i Action = Transmit, M > i, Xi + O ≤ Ci+1 (1) Delay, M > i, Xi + O > Ci+1 . We have expected cost with freeze Ci as Ci =P (M = i|M ≥ i) · E(Xi + O) + P (M > i|M ≥ i) · [P (Xi + O ≤ Ci+1 ) · E(Xi + O|Xi ≤ Ci+1 )
(2)
+ P (Xi + O > Ci+1 ) · Ci+1 ]. To find Ci for each time slot, we use backward induction. At the last time slot N , due to the deadline constraint, the data has to be transmitted regardless of network condition. Thus the expected cost is the expectation of resource consumption at that time slot; i.e., CN = E(XN ). This equation is the base case for backward induction. Apparently, optimal policy depends on the distribution of Xi , where the user profile provides statistics of Xi such as P (Xi ≤ Ci+1 ) and E(Xi |Xi ≤ Ci+1 ). C. Properties In this section, we present some properties of the optimal stopping, as well as two conjectures that relate to the practical issues in our problem. Property 1: With random freeze, a sufficient condition for Ci to be monotonically increasing is P (M = i|M ≥ i) ≤ P (M = i + 1|M ≥ i + 1),
(3)
when Xi s are i.i.d. Since Ci serves as the threshold of transmission (when the random freeze is not happening), the above property also indicates that we are becoming less picky in terms of deciding transmission. Since we are losing opportunities as we progress towards the deadline, it might be intuitive that the threshold is monotonically increasing for all cases. However with freeze time, this is not always true. Consider a simple example, where the freeze happens in the second time slot with probability 0.9 and does not happen afterwards (i.e., M = ∞ with prob. 0.1).
It is not hard to imagine that C1 ≥ C2 , because once it does not freeze in time slot 2, it has a lot of opportunities to explore until the deadline. Therefore, the monotonicity of threshold actually depends on the distribution of freeze time M . The intuition of the sufficient condition in (3) is that freezing is more likely to happen as time passes conditioning on freezing has not happened so far. Uniform freeze time distribution satisfies the condition, and thus results in monotonically decreasing threshold. The property states a sufficient condition that limits the impact of freezing on the monotonicity of the policy. It is proved in Appendix A. Property 2: Random freeze reduces the average delay and increases the average cost, compared to the case without random freeze. The proof is intuitive. The optimal policy with random freeze can be considered as a special policy in the problem without random freeze. Therefore, the transmission cost with random freeze is equal or higher. Similarly, one can see the delay is shorter. In fact, the property holds not only for the expectation, but also for sample path. Property 3: Without random freeze, as the horizon increases, the average cost decreases. As the deadline goes to infinity, the average cost reduces to the lowest transmission cost of the best network condition with probability 1. Again, the proof is intuitive. The optimal policy with a smaller deadline can be considered as a special policy for the case with a larger deadline, and thus has higher or equal cost. As the deadline further increases, the likelihood of finding the best network condition increases to 1 (and intuitively the optimal policy will only transmit under the best network condition). With random freeze, the property is more complex, heavily depending on the distribution of the freeze time. Furthermore, we have the following two conjectures that we do not yet have a formal proof. First, the slope of optimal cost decrease slows down as the deadline increases (without random freeze). We have observed this in all our numerical results. This conjecture, if true, has good indication on selecting deadlines. The slope of the cost decrease helps us decide the optimal tradeoff between delay and cost. Second, when Xi s are positively correlated over time, the optimal cost increases, compared to the case where Xi s are independent over time. This implies that UPDATE is more effective for users with higher mobility. D. Batching Now we consider the multiple transmission problem. Compared to the single data transfer, the main difference is the overhead. Overhead is in particular important for small data traffic, which is the case of many synchronization applications. These data have a large transmission overhead due to signaling and tail effect of the network interfaces. In cellular networks, e.g., UMTS networks, the release of radio resources is controlled by inactivity timers. The timeout value itself, also known as the tail time, can last up to 17 seconds, a significant waste of network resource, in particular, when the data transfer itself is short. As mentioned earlier, if b jobs are transmitted
5
together in a single time slot i, the total cost is b · Xi + O; i.e., only one unit of overhead is needed for multiple transmissions. We called a time slot active if one or more data transmission is scheduled, otherwise the time slot is inactive. To consider multiple transmissions, we also need to consider the arrival process. Each time slot a set A of jobs arrive at the UPDATE scheduler queue Q. Let p0 be the probability that there is no new jobs in a time slot. Assume the job with closest deadline in Q is j. We define the job queue after removing j is Q− , and the queue after adding A as Q+ . The expected cost when using the optimal policy, starting from an active time slot i, with job queue Q is called DiQ , and the same expected cost starting from an inactive time slot is called CiQ . To focus on the impact of overhead and arrival process, we assume no random freezing in this subsection. Also different from the single transmission case, we redefine horizon N as the total amount of time we run UPDATE; e.g., 8 hours a day when the network load is relatively high. The new and modified notations are summarized as follows: • N : Horizon, redefined as the total time considered. • Q: The set of jobs available at the current time slot. + • Q : The set of jobs after adding arrival set A from next time slot to Q. − • Q : The set of jobs after removing the job with closet deadline from Q. Q • Ci : Expected cost of job set Q starting from inactive time slot i. Q • Di : Expected cost of job set Q starting from active time slot i. At each time slot we choose the optimal action for the jobs in Q one by one. We rely on the following intuitive properties to simplify the analysis and to enable a sequential algorithm. Property 4: Jobs with earlier deadlines are batched before jobs with later deadlines. Property 5: For jobs with the same deadline, they will either be batched together or delayed together. The formal proof is omitted here due to space limitation, reader can refer to our line document for proof [17]. These properties are important. Without them, the decision space is a combinatorial of all jobs in the queue, which grows exponentially as the number of jobs increases. With these two properties, we can rank jobs according to their deadlines, and decide in the following sequential manner. First, for convenience, we define ′
CiQ = p0 · CiQ + (1 − p0 ) · CiQ
+
(4)
The expected cost with different actions at time slot i − 1 is as follows: Q Q′ • Ci−1 = Ci ′ Q Di−1 = CiQ if transmit no jobs, go to next time slot i. Q Q− • Ci−1 = O + Xi−1 + Di−1 Q Q− Di−1 = Xi−1 + Di−1 if transmit first job j, and stay in current time slot i − 1. Thus, in an inactive time slot i − 1, we have:
1) Transmit no jobs, and go to next time slot, if ′ Q− Xi−1 > CiQ − Di−1 −O 2) Transmit first job, and stay in current time slot, if ′ Q− Xi−1 ≤ CiQ − Di−1 −O In an active time slot i − 1 (i.e., one or more jobs are already scheduled in this time slot), we have: 1) Transmit no jobs, and go to next time slot, if ′ Q− Xi−1 > CiQ − Di−1 2) Transmit the job with the shortest deadline, and stay in current time′ slot, if− Q Xi−1 ≤ CiQ − Di−1 . Base on these algorithms, we can use backward induction to calculate CiQ and DiQ . −
′
Q Q Ci−1 = p0 · P (Xi−1 > CiQ − Di−1 − O) · CiQ +
−
Q +(1 − p0) · P (Xi−1 > CiQ − Di−1 − O) · CiQ −
′ −
Q Q +p0 · P (Xi−1 ≤ CiQ − Di−1 − O) · (Xi−1 + Di−1 + O) +
−
Q +(1 − p0) · P (Xi−1 ≤ CiQ − Di−1 − O) −
Q · (Xi−1 + Di−1 + O)
(5) −
Q Q Di−1 = p0 · P (Xi−1 > CiQ − Di−1 ) · CiQ +
−
′
′
Q +(1 − p0) · P (Xi−1 > CiQ − Di−1 ) · CiQ −
(6)
−
Q Q +p0 · P (Xi−1 ≤ CiQ − Di−1 ) · (Xi−1 + Di−1 ) +
−
−
Q Q +(1 − p0) · P (Xi−1 ≤ CiQ − Di−1 ) · (Xi−1 + Di−1 )
At the end of the horizon N : Q CN = O + |Q| · E(XN )
(7)
Q DN
(8)
= |Q| · E(XN )
As one can see with the random arrival, the calculation of CiQ and DiQ can become very complicated. Note that Q is a combinatorial of all possible deadlines, and thus there are an exponential number of CiQ and DiQ to be calculated. To address the complexity issue, we also consider a heuristic assuming a fixed arrival process, where jobs arrive in a deterministic manner, with the same mean as in the stochastic arrival case. The fixed (deterministic) arrival process is also justified in the case of periodic update (many synchronization applications are set to periodic update). Assuming deterministic arrival, Q has a polynomial number of possibilities and thus significantly reduce the complexity of the algorithm. The simulation confirmed that using this simplification have small impact on final performance. We can even ignore future arrival when calculating CiQ and DiQ , that will further reduce computation complexity, but impose large impact on performance.
6
The UPDATE framework consists of the following three parts: user profiler, policy generator, and transmission scheduler. User profiler runs locally on the user device as a persistent service. Every time slot (30 seconds by default), the profiler collects available networks, signal strengths (RSSI), and coarse location information. All information is stored locally in a database. We keep up to 60 days of history data in the database. Note that such information is all readily available for regular network operation, so there is little extra cost to collect the data. Along with network condition, we also record time of the day, and day of the week for each time slot as context information. Since on weekdays and weekends users generally have different patterns, we treat them as different profiles. Either at charging time or on demand at runtime, the policy generator reads out the user profile collected so far from the local database, and update the threshold table. As stated in Section IV, statistics of transmission cost Xi is needed. First, we convert available network, and its signal strength to a cost value ranging from 0 to 1. Basically, WiFi network have 0 cost value since we are optimizing for lower cellular load. Better signal strength result in a lower cost values. Second, we aggregate history data with the same time and day as current time slot, then build a histogram for each aggregated time slot with the cost value we collected so far. The statistics of Xi such as P (Xi ≤ Ci+1 ) and E(Xi |Xi ≤ Ci+1 ) can be calculated from this histogram. Finally, the available jobs, new arrivals, and network profile are used to generated the threshold table. Every time slot, the transmission scheduler takes the current available jobs, current network condition, and find out the optimal schedule for each job from the threshold table. It schedules the transmissions should happen at current time slot, and updates threshold table if necessary. VI. E VALUATION In this section, we evaluate the performance of UPDATE using both real and synthetic traces. A. Comparing UPDATE against MDP, with real trace The network profile and network trace are taken from the real network trace we collected from a student in UC Davis. An Android system profiler is developed and installed on the cell phone. The profiler collects signal strength as well as location information. The collected data is uploaded to our server automatically at charging time. First, we compare the performance of naive algorithm (immediate transmission), UPDATE, and MDP. We have 20 days of user profile data for the training of UPDATE and MDP. Transition matrix is generated based on the available information. For both MDP and UPDATE, we have a deadline of 1 hour, and each test is repeated 1000 times. In Fig.2, we show the CDF of network cost when transmitting. With real user data, UPDATE has a performance gain of 15% comparing with
the naive algorithm. Furthermore, UPDATE outperform MDP by 3% although using a much less computational demanding algorithm. We expect the MDP performance to improve if more data is available. We also note that the current data trace does not include WiFi availability. If it does, we expect better improvement of both UPDATE and MDP over naive. We are in the process of collecting larger scale more complete data and performing more extensive tests. 1 0.8 0.6 CDF
V. S YSTEM D ESIGN
0.4 MDP with freeze MDP without freeze UPDATE with freeze UPDATE without freeze
0.2 0 0
Fig. 2.
0.2 0.4 0.6 0.8 Average network resource cost
1
Average cost CDF of UPDATE and MDP model
B. Comparing batching UPDATE and non-bathing UPDATE To augment the limited availability of real trace, we generate synthetic data based on empirical observations as follows. According previous study [7], [8], human mobility is highly predictable and 85% of the time, people stay in their top 5 locations. Furthermore, network condition is highly coupled with location. With the location information in the user profile, we build a Markov model for its location transitions, with the top 10 location as state space. For each of the top 10 locations, we assume network condition (i.e., signal strength) follows a Gaussian distribution. Synthetic mobility is generated first using location transition matrix, and then network condition is randomly assigned to each time slot based on the current location’s network condition distribution. In the simulation, we assume that 20 days of user profile is given. The profile includes time, location, and signal strength. We do not assume any prior knowledge of the underlying Markov model of the system in the UPDATE protocol. Each simulation run we simulate a 6-hour period, the job deadline is 1 hour, and each time slot is 5 minute. We asume the arrival process is Poisson with mean 0.5. The transmission cost for each job is in [0, 1], and overhead is 0.2. With synthetic trace, we repeated each test run 1000 times. We compare UPDATE with batching, UPDATE without batching, and naive algorithms. First we investigate the impact of job deadline ranging from 0 to 70 minutes. In Fig. 3, we can see that while performance for naive algorithm remain the same, both batching and regular UPDATE perform better with longer deadline. However batching algorithm benefit much more from longer deadline than non-batching algorithm. With
7
a deadline of 1 hour, the network resource cost of batching algorithm is about 60% of the naive algorithm. 0.6
Average cost per job
0.55 0.5 0.45 0.4 0.35 0.3
UPDATE Batch UPDATE no batch Naive
0.25 0
Fig. 3.
10
20
30 40 50 Job deadline (min)
60
70
Average cost of different deadline
With very small deadline, the average delay of non-batching algorithm is higher than batching algorithm, however with the increase of deadline, the delay of batching algorithm quickly bypass the non-batching one as shown in Fig. 4. With a deadline of 1 hour, the average delay of batching algorithm is around 0.5 hour. We also studied the impact of the overhead. We set the overhead ranging from 0 to 80% of the maximum transmission cost. Not surprisingly that the cost increase linearly with the overhead. We also observe that larger overhead results in more batching, thus the average size of each batch increases with overhead increase. C. Different arrival models Next we investigate the impact of different arrival models. As discussed in Section IV-D, we consider three models of arrival process, Poisson, fixed, and no-arrival. The complexity of the Poisson arrival is exponentially high because of the combinatorial nature of deadlines. Assuming fixed arrival reduces the complexity to polynomial. Assuming no future arrival further reduces the complexity. In the simulation, the actual arrival process is Poisson with an average of 0.5 arrival per time slot. In Figure 5, we show the cumulative distribution function (CDF) of average cost of the three arrival models. As one can see, the algorithm assuming Poisson arrival (which is the true arrival process) will generate the lowest average cost. However, interestingly, the gap between statistical arrival and fixed arrival are very small. As showed in Fig. 6, both scheme introduce similar delay. This implies that fixed arrival is a viable substitution for statistical arrival that significantly reduces complexity. VII. D ISCUSSIONS a) Applications: Background data synchronization, used in email, social network updates, is very popular on smart phones. Previously applications often write their own sync function, using some kind of timer mechanism to wake up periodically and communicate with the server. Starting from
Android 2.0, Google introduced Sync Manager APIs on the Android platform, which aims to provide a central place for all applications requiring sync operations. The UPDATE protocol can be implemented as a service on Android devices, collecting history data in background and building profiles and threshold tables at charging time. The SmartSync API will consult the threshold table whenever a sync operation is pending, and choose the appropriate time to transmit. Consider another example. Today’s smartphones are equipped with multimedia peripherals such as high-resolution cameras and camcorders that result in an increasing volume of User-Generated Contents (UGC). Uploading such data stresses the cellular uplink. Previous work shows that 55% of data is uploaded at least one day after generation, based on real cellular traces [4]. Similarly, UPDATE can be applied here either as an application or as a service in Android OS to reduce new load while guaranteeing an upload deadline. In both cases, users can request immediate transmission when needed and thus UPDATE will not have much negative impact on user experience. b) Incentive: We consider the proposed opportunistic transmission as a type of network-friendly operation. Network friendly operation is beneficial and necessary for the following reasons. First, the growth of demand far exceeds the growth of capacity. Network friendly operation reduces network resource usage and thus improves overall user experience. Network friendly operation can be implemented in several ways: 1) operating system implementation, similar to the discussion above; 2) or service provider mandate, similar to the mandate that certain applications can only be used in WiFi networks; 3) incentive mechanisms, i.e., delay-tolerant data can be charged at a lower rate or its volume can be discounted in the user’s data quota; and 4) the proposed scheme can also reduce battery power consumption on mobile devices and thus provide incentives for mobile users. c) MDP: In the current optimal stopping time formulation, we have assumed that Xi s are independent. Of course, transmission cost (channel condition) is likely to be correlated over time. In other words, a more accurate model, e.g., a Markovian channel condition model, can be used. A more sophisticated optimal time scheme, i.e., using Markov Decision Process, can be used to find the optimal stopping time based on the Markovian channel model. We prefer the current scheme for the following reasons: First, it is much more difficult to build an accurate model of Xi with time correlation because a transition matrix needs to be estimated if we assume a Markovian model. Significantly more data is needed. Furthermore, it is not clear the appropriate level of detail should be modeled. For example, we can consider Xi as the current state. We can also consider (Xi , t) as the state, where t is the absolute time. The intuition is that user mobility is likely to be a function of time; e.g., one is likely to move to work location at 8am than at 12am. If we include the time, the modeling complexity increases dramatically. One needs a transition matrix for each time interval. One can go even further with the model to include location information, or
8
7
UPDATE Batch UPDATE no batch Naive
1
1
0.8
0.8
0.6
0.6
5
F(x)
6 F(x)
Average delay per job
8
Empirical CDF
Empirical CDF
9
4
0.4
0.4
3 2
0.2
0 0
Fig. 4.
10
20
30 40 50 Job deadline (min)
60
70
Average delay of different deadline
0
0.2
Statistical arrival Fixed arrival No arrival
1 0.2
0.25
0.3 0.35 x: Average cost
0.4
0.45
0.5
Fig. 5. Average cost using different threshold calculation
mobility information (e.g., speed information). The modeling complexity further increases and so does the demand for empirical user data. Second, MDP approaches provide good numerical results but little insights. Last, it may be desirable for UPDATE to be completed implemented on the phone and thus computational simplicity is necessary. In summary, there are clear limitations when we try to model real-life behavior. There exists tradeoffs among modeling complexity, data availability, accuracy, and algorithm complexity. In this work, we have preferred simplicity. More in-depth evaluation of the tradeoffs is desired in the future. d) Irregularity: Although human mobility has high predictability, it also has deviation; i.e., one is out of his/her regular routine. Such outliners, especially with location information, are not difficult to identify. Simple machine learning techniques can be used to identify outliners. When an outliner is identified, clearly the profile cannot be directly applied. In this case, one may adopt a conservative approach, assuming certain average performance criterion. We will further investigate such issues. However, it does worth noting that the overall impact of such outliners will be small, since they are small probability events by definition. e) Privacy: Because user profile gathers location information, it may raise privacy concerns. However, we note that the profile information resides on the individual device, and all calculation can be performed on the phone as well. In other words, no information needs to leave the phone. (This is yet another reason that we prefer simpler algorithms.) f) Energy consumption: UPDATE reduces battery power consumption on mobile devices by exploring better network conditions. On the other hand, it also consumes energy to establish user profile. Therefore, in order not to jeopardize batter life time, one needs to design user profiler judiciously. Because the limited amount of information one needs to collect and its ready availability on mobile devices, the profiler consumes little extra energy, and thus do not jeopardize battery life time. g) Peak Load Reduction: In the current user profile, we consider signal strength and WiFi availability as network condition information, which are readily available on the current mobile platform. On the other hand, in cellular networks,
0 10
Statistical arrival Fixed arrival No arrival 20
30 40 x: Average delay (min)
50
Fig. 6. Average delay using different threshold calculation
to reduce peak load is of particular importance to service providers. Load varies in both large and small times scale. Challenges in exploring network load exist in the current infrastructure. First, how shall we estimate current network load? This is by itself an active research question. Possible metrics considered include bit error rate, interference power, transmission power, round-trip time, and throughput. One can leverage existing works on estimating network load to obtain a load profile in both large and small time scales. If such information is available, UPDATE can be applied with little modification. h) Time scale: How long should we set the deadline? The answer depends on the application scenario. Certain applications, such as OS update, can tolerant longer delay in the order of hours. They can thus explore more opportunities, including WiFi availability and large time scale load variation (e.g., 3am). For other applications, such as photo update, the delay of tens of minutes might be more appropriate. For these applications, they can explore both signal strength variations, small time scale network peak load changes, and possibly location change. For other applications, such as email automatic update, delay tolerance is in the time scale of minutes, they can explore signal strength variations and small time scale network peak load changes. VIII. C ONCLUSION Today’s mobile Internet is heavily overloaded by the increasing demand and capability of mobile devices. However, not all traffic is created equal; a large portion of data on mobile Internet, both downlink and uplink, is delay tolerant. By scheduling delay tolerant data to more favorable network conditions intelligently, we can potentially save much network resource. In this paper, we show that user network profile is an indispensable component to accurately predict future network condition, which is crucial for efficiently leveraging delay tolerance to save network resource. We have proposed User-Profile Driven Adaptive Transfer (UPDATE) framework based on user network profile to find the optimal transmission time for delay tolerant data at runtime. Our proposed schemes are simple yet effective, and can be implemented on mobile platforms. We have discussed in details the implementation
9
of UPDATE, as well as its practical applications. Using both synthetic traces and real traces, we have demonstrated the desirability of the proposed UPDATE protocol. Future work includes more extensive experimental studies, in depth analytical comparison of different models, and practical implementations that involve peak-load reduction. A PPENDIX Proof of Property 1: As in Section IV, we assume Xi s are i.i.d. We have
′ Ci′ ≤ Cˆi′ ≤ Ci+1
(16)
Now for original value with random freeze Ci and Ci+1 , we already have Ci+1 ≤ Ci+2 we can see that if P (M = i|M ≥ i) ≤ P (M = i + 1|M ≥ i + 1), then Ci > Ci+1 . Thus we proved that P (M = i|M ≥ i) ≤ P (M = i + 1|M ≥ i + 1)
(17)
is a sufficient condition for monotonicity. R EFERENCES
Ci = P (M = i|M ≥ i) · E(Xi ) + P (M > i|M ≥ i) · [P (Xi ≤ Ci+1 ) · E(Xi |Xi ≤ Ci+1 ) + P (Xi > Ci+1 ) · Ci+1 ]
(9)
We use induction for our proof. First, we need to prove CN −1 ≤ CN . CN −1 =P (XN −1 ≤ CN ) · E(XN −1 |XN −1 ≤ CN ) + P (XN −1 > CN ) · CN
(10)
CN −1 ≤ CN
(11)
Then assuming that Ci+1 ≤ Ci+2 ≤ ... ≤ CN , we need to prove that Ci ≤ Ci+1 . We have Ci =P (M = i|M ≥ i) · E(Xi ) + P (M > i|M ≥ i) · [P (Xi ≤ Ci+1 ) · E(Xi |Xi ≤ Ci+1 ) + P (Xi > Ci+1 ) · Ci+1 ]
(12)
Ci+1 =P (M = i + 1|M ≥ i + 1) · E(Xi+1 ) + P (M > i + 1|M ≥ i + 1) (13) · [P (Xi+1 ≤ Ci+2 ) · E(Xi+1 |Xi+1 ≤ Ci+2 ) + P (Xi+1 > Ci+2 ) · Ci+2 ] ′ Define Ci′ and Ci+1 as follows
Ci′ =P (Xi ≤ Ci+1 ) · E(Xi |Xi ≤ Ci+1 ) ′ Ci+1
+ P (Xi > Ci+1 ) · Ci+1 =P (Xi+1 ≤ Ci+2 ) · E(Xi+1 |Xi+1 ≤ Ci+2 )
(14)
+ P (Xi+1 > Ci+2 ) · Ci+2 Note that Ci′ is the value of the optimal policy without freeze. Let’s define another policy whose value Cˆi′ is as follows Cˆi′ =P (Xi ≤ Ci+1 ) · E(Xi |Xi ≤ Ci+1 ) + P (Ci+1 < Xi ≤ Ci+2 ) · E(Xi |Ci+1 < Xi ≤ Ci+2 ) + P (Xi > Ci+2 ) · Ci+1 (15) ′ Thus we can see that Cˆi′ ≤ Ci+1 . Since Ci′ is the value of the optimal policy without freeze, any other policy should have cost larger or equal to Ci′ . Thus we have
[1] “World Telecommunication/ICT Indicators Database,” http://www.itu. int/ITU-D/ict/statistics/, 2010. [2] “The Mobile Internet Report,” http://www.morganstanley.com/ institutional/techresearch/pdfs/mobile internet report.pdf, 2009. [3] “Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 20102015,” http://www.cisco.com/en/US/solutions/collateral/ ns341/ns525/ns537/ns705/ns827/white paper c11-520862.html, 2010. [4] A. K. I. Trestian, S. Ranjan and A. Nucci, “Taming user-generated content in mobile networks via drop zones,” in Proc. of IEEE INFOCOM’11, April 2011. [5] C. Joe-Wong, S. Ha, and M. Chiang, “Time-dependent internet pricing.” [6] [Online]. Available: http://scenic.princeton.edu/tube/ [7] M. C. Gonzalez, C. A. Hidalgo, and A.-L. Barabasi, “Understanding individual human mobility patterns,” Nature, vol. 453, no. 7196, pp. 779–782, Jun. 2008. [Online]. Available: http://dx.doi.org/10.1038/ nature06958 [8] C. Song, Z. Qu, N. Blumm, and A.-L. Barabsi, “Limits of predictability in human mobility,” Science, vol. 327, no. 5968, pp. 1018–1021, 2010. [Online]. Available: http: //www.barabasilab.com/pubs/CCNR-ALB Publications/201002-19 Science-Predictability/201002-19 Science-Predictability.pdf [9] J. P. Gilbert and F. Mosteller, “Recognizing the Maximum of a Sequence,” Journal of the American Statistical Association, vol. 61, no. 313, pp. 35–73, 1966. [Online]. Available: http: //dx.doi.org/10.2307/2283044 [10] E. Samuel-Cahn, “Optimal Stopping With Random Horizon With Application to the Full-Information Best-Choice Problem With Random Freeze,” Journal of the American Statistical Association, vol. 91, no. 433, pp. 357–364, 1996. [11] M.-R. Ra, J. Paek, A. Sharma, R. Govindan, M. H. Krieger, and M. J. Neely, “Energy-delay tradeoffs in smartphone applications,” in MobiSys, S. Banerjee, S. Keshav, and A. Wolman, Eds. ACM, 2010, pp. 255–270. [12] A. Balasubramanian, R. Mahajan, and A. Venkataramani, “Augmenting mobile 3g using wifi,” in MobiSys ’10: Proceedings of the 8th international conference on Mobile systems, applications, and services. New York, NY, USA: ACM, 2010, pp. 209–222. [13] A. Schulman, V. Navda, R. Ramjee, N. Spring, P. Deshpande, C. Grunewald, K. Jain, and V. N. Padmanabhan, “Bartendr: a practical approach to energy-aware cellular data scheduling,” in Proceedings of the sixteenth annual international conference on Mobile computing and networking, ser. MobiCom ’10. New York, NY, USA: ACM, 2010, pp. 85–96. [Online]. Available: http://doi.acm.org/10.1145/1859995.1860006 [14] N. Balasubramanian, A. Balasubramanian, and A. Venkataramani, “Energy consumption in mobile phones: a measurement study and implications for network applications,” in Proceedings of the 9th ACM SIGCOMM conference on Internet measurement conference. ACM, 2009, pp. 280–293. [Online]. Available: http: //portal.acm.org/citation.cfm?id=1644927 [15] V. Kononen and P. Paakkonen, “Optimizing power consumption of always-on applications based on timer alignment,” in Communication Systems and Networks (COMSNETS), 2011 Third International Conference on. IEEE, pp. 1–8. [Online]. Available: http://ieeexplore. ieee.org/xpls/abs\ all.jsp?arnumber=5716468 [16] F. Qian, Z. Wang, A. Gerber, and Z. Mao, “Characterizing radio resource allocation for 3g networks,” Proceedings of the, pp. 137–150, 2010. [Online]. Available: http://portal.acm.org/citation.cfm?id=1879159 [17] Y. Wang and X. Liu, “Proof of update properties,” 2011. [Online]. Available: http://yichuan.cs.ucdavis.edu/proof-infocom12.pdf