 Research
 Open Access
 Published:
Internet data budget allocation policies for diverse smartphone applications
EURASIP Journal on Wireless Communications and Networking volume 2016, Article number: 226 (2016)
Abstract
In recent times, there has been a significant growth in the number of smartphone users and number and types of mobile applications (apps). Such a trend has resulted in increased Internet data consumption, particularly for users of “data hungry” apps. Thus, smartphone apps should be allocated to their required budget to minimize resource wastage without compromising on user’s quality of experience. In this paper, we develop a prioritized and dynamic budget allocation policy framework for ensuring an optimal budget allocation to each app as well as improving system performance. We formulate the optimal Internet data budget management (OIDM) problem as a mixedinteger nonlinear programming (MINLP) problem, which maximizes the resource utilization and minimizes user penalties. We also employ runtime monitoring technique to estimate future bandwidth utilization so as to ensure budget reservation as close as to the required amount. A heuristic Internet data budget management algorithm (HIDM) is also presented, which is designed to reduce time complexity and computational overhead of the OIDM system. The experimental results from testbed implementation demonstrate the effectiveness of the proposed IDM systems, in comparison to stateoftheart approaches.
Introduction
In modernday society, smartphones and mobile applications are two popular consumer technologies. This is also evidenced by the diversity of the devices (e.g., wide ranging models and makes) and applications (e.g., social, productivity, and lifestyle) [1–5]. A typical smartphone is capable of running several applications concurrently (e.g., navigation, email, browser, dating, and communication) [6–8], in addition to other builtin functionalities such as music player, camera, and sensors [9–14]. Mobile devices including smartphones could be the predominant digital device for future daily use, as it allows users to access the Internet and their data anywhere anytime [15–17]. Thus, it is important to ensure that nextgeneration mobile communications are cost efficient and secure and provide high quality of service and experience.
Many of these mobile applications consume significant bandwidth via WiFi or mobile network, for example, using cloud applications to access or upload a large document onthego. If WiFi signal is absent or too weak, then the mobile can autonomously switch to mobile communication [18]. Every application needs to be allocated to limited mobile Internet data budget according to its bandwidth utilization. Consequently, a significant amount of Internet data budget could be consumed by some lowpriority applications running in the background (e.g., gaming), exhausting the available data allowance in a fixed Internet data budget plan. Consequently, the user would not be able to access or upload data without paying for additional bandwidth. If we impose restrictive budget allocations among applications, it could result in the user underutilizing the Internet data budget in a particular billing cycle. Therefore, it is essential to have the capability to flexibly set/adjust an appropriate budget plan for mobile applications (e.g., using smart policies to provision different level of bandwidth resources to different applications) to maximize bandwidth resources and quality of user experience. If an application is allocated less budget than it requires, then this could result in underprovisioning, affecting its performance, and consequently quality of user experience. On the other hand, if an application is allocated too much budget, then it can result in overprovisioning and consequently, resourceunderutilization (see Fig. 1). Thus, the aim of this work is to ensure efficient and systematic Internet data budget utilization for each application for avoiding over or underprovisioning.
Most stateoftheart research such as [18–21] do not consider dynamic budget allocation for mobile applications. The solution in [19], for example, seeks to satisfy the bandwidth requirement for constant and variable bit rate connections, while minimizing blocking probability. In [18], a heuristic solution for allocating budget to sensitive and nonsensitive applications was developed. However, it did not handle over and underprovisioning issues while allocating portion of data budgets. In other words, the research did not allow the allocation of different resources to different applications. In our earlier work [22], an optimization framework for Internet data budget management was developed. However, the framework was designed for small systems, but it is not suited for larger system deployment due to the high computational complexity associated with an increased number of user applications. This is the gap we seek to contribute to in this paper.
In this work, we explore dynamic budget allocation policies that allow us to analyze the budget usage behavior of each application and decide the amount of bandwidth allocation for each application so as to maximize resource utilization. Our proposed optimal Internet data budget management (OIDM) system leverages prioritized budget allocation to applications in order to minimize penalty for important and sensitive applications. We then develop a heuristic IDM algorithm (HIDM) designed to reduce time complexity and computational overhead while maintaining efficient data budget utilization. Specifically, in this paper,

we formulate the problem of optimal allocation of mobile Internet data budget (OIDM) to different mobile applications as a mixedinteger nonlinear programming (MINLP) problem;

we propose OIDM which allows us to maximize budget utilization for all applications while minimizing budget allocation errors due to under and overprovisioning problems;

we present a heuristic IDM algorithm (HIDM) designed to reduce computation complexity of OIDM;

we present a runtime monitoring and measurement scheme to estimate budget utilization using weighted average usage prediction (WAUP) method; and

we study the effectiveness of autoregressive integrated moving average (ARIMA) model to more accurately predict the amount of budget in future Internet data budget plan.
We then evaluate the performance of the proposed model with a number of existing models.
The rest of the paper is organized as follows. Section 2 reviews related work. Section 3 presents our system model. In Section 4, we formulate the optimization problem and present the proposed dynamic budget allocation scheme. Section 5 describes the effectiveness of HIDM scheme. Section 6 presents findings from the performance evaluation, and conclusions are drawn in Section 7.
Related works
Allocating bandwidth among competing users or devices is a challenging problem, and this topic has been studied in the literature. In [19], the authors presented a utilitybased bandwidth allocation algorithm for multiple services in heterogeneous wireless access networks consisting of WMAN, 3G cellular network, and WLAN. Bandwidth is allocated to a new arrival connection in heterogeneous wireless environment depending on utility fairness. Chen et al. [23] proposed a smart bandwidth allocation algorithm based on mobile users’ personality traits and channel condition. Based on one user’s data usage, the service provider could estimate this user’s probability of each personality trait using diagnostic inference and then based on predictive inference to calculate this user’s usage of bandwidth in the future. In [24], the authors studied the bandwidth disposition problem for heterogeneous networks. Their proposed method determines the amount of disposed bandwidth, and the decision to upgrade or downgrade the sequence of bandwidth is based on the upgrade rank or downgrade rank function.
The researchers of [25] have designed a new framework to model mobile applications and proposed efficient algorithm (MuSIC) which achieves more than 75 % of optimal solution when the number of mobile users is high. In [26–28], the authors presented traffic congestion management strategies using crowd sensing technology. Fang et al. [29] proposed an online control algorithm for throughputenergy tradeoff in mobile device. An online incentivecompatible VM allocation mechanism is developed in [30], and resource allocation algorithms are proposed in [31, 32] to enhance network capacity. A control framework for participatory sensing system using smartphones is developed in [33].
Chaisiri et al. [34] proposed a resource provisioning mechanism in cloud computing to offer cloud users two resource provisioning plans, namely, ondemand plan and reservation plan. Their proposed optimal cloud resource provisioning algorithm minimizes under and overprovisioning problems due to the uncertainty of user’s future demand and provider’s resource prices. In [35], Dong et al. proposed a randomized task assignment framework for computing tasks on participatory smartphones in a reliable fashion while minimizing workload at individual participatory devices. Martignon et al. [36] examined the potential of wireless mesh networks (WMN) in providing broadband Internet access to mobile users. A WMN operator may be reluctant to develop a bandwidth market place as some dishonest customers can put in false bids in order to pay a lower price. To overcome this problem, they proposed a mechanism to allocate the bandwidth of WMN operators to customers who are interested to pay the higher price as per their bandwidth demand. This strategy ensures that all customers reveal their real valuation of the required bandwidth. In [37], the authors studied the problem of network utilization decline due to significant traffic variability in datacenters. They then designed a virtual machine bandwidth allocation algorithm to handle highly dynamic traffic in datacenters. In other words, the proposed solution seeks to minimize performance degradation caused by frequent decreases in network throughputs.
The authors of [18] introduced an online 3G budget algorithm that decides which sensory data should be uploaded via 3G communication while others will be uploaded or downloaded later when WiFi access point is available. Their optimization scheme ensures efficient 3G budget utilization but the algorithm has significant computational overheads. Therefore, the approach is both computational resource and energy hungry. Also, they proposed a heuristic algorithm which splits the 3G budget in each time cycle into two pieces, namely, reserved budget and flexible budget. Sensitive applications use reserved budget and nonsensitive applications use flexible budget. If the reserved budget runs out, then sensitive applications use the allocation from the flexible budget. But this twostate application classification (sensitive and nonsensitive) decreases the dynamicity and flexibility of bandwidth allocation. In addition, budget allocation strategies for heterogenous applications based on urgency/priority are not been explicitly discussed or analyzed.
In [22], the authors proposed an optimal budget allocation policy for each mobile application. However, their optimization scheme does not provide effective and fair utilization of 3G budget because utilization is set to zero if underprovisioning penalty occurs. Again, their budget usage ratio measurement is erroneous as a result of inaccurate budget reservation in upcoming time cycles. Another limitation of their work is that time complexity increases exponentially if the number of applications and time cycles are sufficiently large.
System model
In this section, we present the system model for Internet data budget utilization. We consider that a smartphone is connected with the Internet either using WiFi access point or by 3/4/5G mobile Internet connection. The smartphone uses Internet data budget for urgent application usage whenever no WiFi access point is available at nearby. We assume that some lowpriority applications are allowed to buffer the data packets at local device until it is connected with any AP. In that case, the buffer space of the mobile phone is exhausted; either it stops data collection process for very lowpriority applications or turns on mobile network Internet connection to offload collected data. When a user is in the range of a WiFi access point, all the backlogged data packets in the buffer are uploaded to the destination server through WiFi communication regardless of its priority. However, if WiFi signal is absent or too low to upload the important data packets, then the system switches to mobile Internet communication.
We assume that a user purchases a fixed limited Internet data budget B for 3/4/5G Internet connection (e.g., 3GB monthly, 1GB weekly package). Let \(\mathcal {N}\) represent the set of all applications running on a smartphone and their priorities are denoted by the set, \(\mathcal {P}= \{ p_{1}, p_{2}, p_{3}, \dots, p_{\left  \mathcal {N} \right }\}\). In this case, we use higher values for high priority applications. The amount of the Internet data budget plan for each of the applications is proportional to how much important the application is. That is, realtime and interactive applications need more bandwidths and they may not tolerate significant delay; on the other hand, some lowpriority applications may be delayed and reduced amount of data budget can be allocated. In this work, we dynamically prioritize all the applications running in the mobile device by estimating bandwidth usage behavior of the applications. The more bandwidth an application uses, the higher its priority is. We exploit the ARIMA formulae for estimating the runtime usage of resources by different applications and recommend a user the most appropriate amount of monthly Internet data budget plan (to be discussed in detail in Section 4.4).
The Internet data budget plan period \(\mathcal {T}\) is the validation time for the Internet package of the user (e.g., 1 month, 1 week). Each data budget plan period \(\mathcal {T}\) is divided into multiple time cycles, as depicted in Fig. 2. We also assume that the budget allocation algorithm periodically runs every after t time cycle where t changes proportionately with \(\mathcal {T}\) and B. It tries to avoid overprovisioning as well as underprovisioning so as to maximize the resource utilization and application performances. At every scheduling interval t, a certain amount of data budget r _{ i,t } is reserved for each application \(i \in \mathcal {N}\) and an amount f _{ i,t } as flexible budget; the application i uses data budget from f _{ i,t } in the case that the reserved amount r _{ i,t } is exhausted before the next time interval t+1. The notations used in this paper are summarized in Table 1.
Internet data budget management
In this section, we present optimal Internet data budget management strategy (OIDM) for heterogeneous applications running in a smartphone. The proposed budget allocation policy dynamically expands or shrinks the amount of bandwidth allocated to different applications over time based on the usage behavior of the applications. Our budget allocation mechanism optimizes the bandwidth resource utilization as well as reduces the penalties incurred due to over and underprovisioning. We exploit the WAUP method to infer more accurately the bandwidth usage in future time cycles. We use the ARIMA model for recommending appropriate amount of monthly data budget plan for a user.
Optimization problem formulation
The problem of optimal allocation of bandwidth to the mobile applications is translated as maximizing the utilization of resources while minimizing the penalties incurred due to overprovisioning and underprovisioning. And, this policy needs to be maintained for all applications in all time cycles. Our target is to determine an accurate reservation of budget to an application in t _{ m+1} time cycle based on usage statistics of previous M time cycles, i.e., from t _{ m−M } to t _{ m } such a way that maximization of utilization is ensured. Therefore, the optimization function is a mixedinteger nonlinear programming (MINLP) problem, formulated as follows,
subject to:
Here, U _{ i,t } is the resource utilization of application i at time cycle t. Given that the r _{ i,t },x _{ i,t } and y _{ i,t } are the amount of reserved budget, used reserved budget, and used flexible budget for application i at time cycle t, the utilization is defined as follows:
We observe from the first condition of Eq. 5 that the resource utilization decreases with the increasing usage of flexible budget y _{ i,t }, which occurred due to underprovisioning of resources. Furthermore, the second condition depicts that the utilization is also decreased in the case that resource overprovisioning occurred, i.e., only a small part of reserved resource is utilized. In summary, the more appropriate amount of budget that we can allocate just to meet the actual requirement of an application, the more the resource utilization is increased and viceversa. The constraints (2) and (3) are corresponding to bandwidth usage constraints for reserved and flexible budgets, i.e., usage must be bounded by the proportionately allocated amount for an application i at a given time cycle t. The constraint (4) states that the constraints (2) and (3) follow additive rule. However, increasing the reserve budget for an application does not always increase the utilization. The resource utilization is enhanced when the gap between the reserved amount and the usage amount is decreased. Similarly, excessive allocation of flexible data budget amount for a certain application might cause penalty to some other applications, degrading the overall resource utilization. We use a popular mathematical programming language AMPL [38] for solving the optimization problem. What follows next is that we describe in detail the budget allocation policies to different applications \(i \in \mathcal {N}\) at each time cycle t.
Budget allocation policy
The total Internet budget B for a data plan is split into two parts: reserved budget (B _{1}) and flexible budget (B _{2}) in each time cycle. Initially (t=0), their values are determined as follows:
where α is a control parameter that determines how much of the total budget is to be kept in reserved portion. When the Internet data budget plan period starts, every application is allocated a certain amount of reserved budget based on their priorities assuming all the applications have equal bandwidth usage. For the subsequent time cycles, the amount of reserved budget for an application is forecasted following its estimated bandwidth usage \(\bar {b}_{i,t}\) during last M time cycles; the detail estimation process of \(\bar {b}_{i,t}\) is presented in Section 4.3. Therefore, the reserved budget of an application i at a given time cycle t is calculated as
where p _{ i } and r _{ i,t } are, respectively, the priority and reserved budget of an application \(i \in \mathcal {N}\) in the time cycle t. In Eq. 8, budget reservation to each application is defined as a weighted average of priority and estimated budget usage so that judicious amount of budget is reserved to each application according to its requirement. We assume that in the first time cycle t _{1}, each application i has used x _{ i,t } amount of data from the reserved budget. So, remaining reserved budget is \(B_{1}\sum _{i=1}^{\left  \mathcal {N} \right }x_{i,t}\).
In the case that an application has run out of its reserved budget within the current time cycle, then flexible budget is allocated to it from B _{2}. If f _{ i,t } denotes the extra budget requirement for i’th application in time cycle t, then
where \(\mathcal {T}\) is the Internet data budget plan period and T ^{′} is current time of a data plan period. Equation 9 refers to the allocated flexible budget for i’th application in t time cycle based on both application priority and current time of data plan period. If flexible budget is allocated based on priority, only then some applications would face significant amount of budget wastage at the end of the data plan period as well as many important applications would be deprived of sufficient amount of flexible budget. If a highpriority application runs out of flexible budget, then it is assigned flexible budget amount repeatedly following its requirement; but, a lowpriority application is allowed to use flexible budget one time only. This policy helps us to restrict uncontrolled usage of available data budget by lowpriority applications and thus reduce penalties for highpriority ones.
If each application \(i \in \mathcal {N}\) uploads or downloads y _{ i,t } amount of data using flexible budget, then the remaining flexible budget is \(B_{2}{\sum \nolimits }_{i=1}^{\left  \mathcal {N} \right }y_{i,t}\). The remaining total budget after t _{1} time cycle is calculated as
This is the budget for next time cycle; that means the assignment is additive. We calculate the total budget by adding remaining flexible and reserved budget for the next time cycle. From the second time cycle, the reserved budget is calculated according to following equation:
Equation 11 helps us to dynamically update the reserved budget amount B _{1} following the historical usages of data budget by the applications. It also minimizes the wastage of bandwidth later at the end of the Internet data budget plan period. The control parameter α plays an important role to start with minimum reserved amount from the first day of Internet data budget plan and to increase gradually. Therefore, it helps to minimize both the over and underprovisioning penalties. The value of α depends on execution frequency of the budget allocation algorithm compared to the total Internet data budget plan period. For performance evaluation, we have set \(\alpha = \frac {\Delta }{\mathcal {T}}\), where Δ is the time interval between two consecutive executions of data budget allocation algorithm.
Estimation of budget usage
We calculate budget usage ratio b _{ i,t } after each usage interval, t, as follows,
Thus, Eq. 12 refers to how much of the allocated budget is used by an application \(i \in \mathcal {N}\). We need to predict the budget usage of each application so as to infer the judicious amount of budget to be allocated in the upcoming time cycle. The possible amount of usage of the budget by an application in the next time cycle typically depends on its historical usage patterns. And the most recent usage behavior puts more impact on the future usage estimations. In this work, we exploit the WAUP method similar to the WALI model [39, 40] that works as follows. The WAUP measures the average bandwidth usage of an application \(i \in \mathcal {N}\) in the current time cycle as a weighted average of last M time cycles as follows:
where the value of weight factor w _{ j } is determined as follows,
For M=8, this gives weights of 1, 1, 1, 1, 0.8, 0.6, 0.4, and 0.2 for w _{1} through w _{8}, respectively, where the most recent four samples are equally weighted.
Budget recommendation
Based on the user’s recent monthly Internet data budget usage behavior, we explore a time series analysis method to predict the future Internet data budget plan so that insufficiency or wastage of bandwidth can be avoided. A user can use a different Internet data budget for different Internet data budget plans. The usage statistics typically show a constant variance in its fluctuation with the course of time. The ARIMA model works best for forecasting because in this case, data exhibits a consistent pattern over time with minimum amount of outliers [41]. The ARIMA (p, d, q) models are first introduced by Box and Jenkins in 1970 [42] for purposes of modeling time series data. The model is the combination of autoregression and a moving average model. The full form of ARIMA can be written as [43, 44]
or
or by using lag polynomial operator,
where ϕ(L)=1−ϕ _{1} L−ϕ _{2} L ^{2}−ϕ _{3} L ^{3}−⋯−ϕ _{ p } L ^{p} and θ(L)=1−θ _{1} L−θ _{2} L ^{2}−θ _{3} L ^{3}−⋯−θ _{ p } L ^{q}. \(B^{'}_{l}\) is the correlated normally distributed random variable, e _{ l } is an uncorrelated Gaussian noise, θ _{ l } is moving average coefficient, and L is the lag operator.
For predicting the amount of Internet data budget for the next data plan period, ARIMA model is employed on historical usage behavior. Here, \(B^{'}_{l}\) is the estimated Internet data budget for the lth Internet data budget plan period. If the usage behavior has high degree of fluctuations in the amount of data budget over time, i.e., the historical usage is not stationary, then \(B^{'}_{l}=B_{l}B_{l1}\) is used for forecasting purposes.
Heuristic Internet data budget management
For allocating reserved budget in the current time cycle, estimated budget usage needs to be calculated based on historical bandwidth usage patterns of the applications. The estimated bandwidth usage of an application is measured as a weighted average of the last M time cycles. We need to maintain a \(M \times \left  \mathcal {N} \right \) matrix to record the usage statistics of \(\left  \mathcal {N} \right \) applications for previous time cycles. The main drawback of OIDM algorithm is that in the case \(\left  \mathcal {N} \right \) and M are both large enough, then the computational complexity of Eq. 1 increases exponentially. The computational time goes up exponentially with higher number of applications since it requires huge amount of computation and storage to update the matrix.
Considering this problem, we propose a heuristic Internet data budget management (HIDM) algorithm to provide a feasible and realtime solution. The idea is to minimize time complexity by decreasing the value of M when \(\left  \mathcal {N} \right \) is larger. Again, when \(\left  \mathcal {N} \right \) is smaller, larger value of M is taken to increase the accuracy level of bandwidth estimation. This solution allows us to make a tradeoff in between the bandwidth allocation accuracy and the time complexity.
The complexity of Algorithm 1 is quite straightforward to follow. The statements 1∼10 are enclosed in a loop that iterates \(\left  \mathcal {T} \right \) times, 6∼9 has another loop that iterates \(\left  \mathcal {N} \right \) times, and the statement 7 has a prediction methodology that has O(M) complexity. The rest of the statements have constant unit time complexities. Therefore, the overall computational complexity of the algorithm is \(O(\left  \mathcal {T} \right  \times \left  \mathcal {N} \right  \times M)\).
Performance evaluation
In this section, we evaluate performance of the proposed optimal Internet data budget management (OIDM) policy, heuristic Internet data budget management (HIDM) policy, dynamic bandwidth allocation (DBA) [22], and an online heuristic algorithm [18]. We implemented both OIDM and HIDM algorithms on an Android device.
Experimental setup
Now, we present our testbed implementation environment and dataset used in the evaluation. To evaluate our proposed scheme, we conducted a study involving 8 participants, each having a smartphone running a number of applications on a fixed budget mobile Internet connection. We developed Android applications for each of the studied data budget allocation algorithms to be installed on the smartphones. We assume that the user applications are heterogeneous, in terms of timesensitivity, reliability, bandwidth requirements, etc. The number of applications active on a mobile device and user’s monthly data plan vary from a wide range of 10∼60 and 1∼8 GB, respectively. The usage arrival and departure of applications at smartphones are exponentially distributed. As a result, the duration for which an active application varies. We also assumed that the mobile user uses both Internet data plan and WiFi, which is a typical user setup. The total data plan period is assumed to be 720 h (i.e., 30 days) and the budget allocation algorithm execution time interval Δ is chosen 30∼50 min. We stored the user’s application usage statistics in a log file and plotted the graph points based on realtime dataset. Each graph data point represents the average value of the results from 10 or more experiments; thus, the performance graphs depict stable behavior of the studied systems.
Performance metrics
We used the following two metrics to evaluate the performance of the studied Internet data budget allocation algorithms.

Average resource utilization: Equation 1 defines the resource utilization of each application in all time cycles. Our aim is to upgrade system performance and user experience by maximizing utilization and minimizing penalty. The average resource utilization is measured for individual applications and then the average is taken for all user applications running on the smartphone.

Average penalty: A user application is penalized when the allocated data budget is insufficient compared to its requirement. Thus, we measure penalty as the percentage of applications that could not be run due to shortage of bandwidth during the experiments. The average is taken for all time periods and all applications.
Simulation results
Impacts of increasing number of applications
As shown in Fig. 3 a, the average resource utilization linearly decreases with the number of applications for all studied budget allocation algorithms due to underprovisioning penalty. The proposed HIDM policy offers as high as almost 80 % performance for higher number of applications compared to online heuristic and DBA algorithms. This happens because of its higher capability in accommodating diverse applications with different priorities and reducing computational overhead by dynamically adjusting the bandwidth allocation to the applications following their historical usage pattern. The performance of OIDM is slightly lower than HIDM because it requires a significant amount of time to update the matrix for a large number of applications. Thus, some applications are denied sufficient bandwidth.
Figure 3 b depicts that the percentage of penalty increases with increasing number of applications but the penalties offered by OIDM and HIDM algorithms remain relatively low, in comparison to online heuristic and DBA algorithms. This is because flexible budget is allocated to highpriority or sensitive applications repeatedly so that these applications can complete their tasks. On the other hand, for online heuristic and DBA algorithms, the average penalty percentage is relatively high because the applications face underprovisioning penalty due to the weakness of budget distribution policy.
Figure 3 c depicts that the percentage of penalty increases with increasing number of applications but the penalty offered by HIDM remains relatively low, in comparison to the DBA algorithm. This is due to the DBA algorithm resetting utilization to zero when underprovisioning penalty occurs. Again, highpriority applications are stuck when the flexible budget is depleted, but in the case of HIDM, highpriority applications are allocated flexible budget repeatedly according to their requirements.
Figure 3 d depicts that the percentage of penalty increases with the increasing number of applications because a fixed amount of budget is allocated among all increased number of applications. Consequently, lowpriority applications do not get adequate budget. Lowpriority applications also face more penalty than highpriority applications because they have access to flexible budget only once when they run out of reserved budget.
Impacts of varying amounts of data budget plan
Figure 4 a shows that the average resource utilization offered by HIDM grows with larger amount of budget, but it starts decreasing due to overprovisioning penalty when the allocated budget exceeds 7 GB. However, the average performance offered by online heuristic algorithm remains low because of their incapability of proper distribution of budget among applications and cleverly handling over and underprovisioning penalties. The average resource utilization offered by the HIDM is relatively higher than that of DBA algorithm since Eq. 12 increases the budget usage ratio and reduces the probability of occurring penalties in the upcoming time cycles.
Figure 4 b depicts that underprovisioning penalty decreases with larger amount of allocated budget as the applications are allocated adequate amount of budget. However, the percentage of penalty offered by online heuristic algorithm is higher as it has not defined a budget allocation technique for each application.
Figure 4 c depicts that average penalty decreases with larger amount of allocated budget as the highpriority applications are allocated adequate amount of budget according to their bandwidth requirement. The average penalty decreases due to the decline in underprovisioning penalty.
Figure 4 d depicts that underprovisioning penalty declines with larger amount of allocated budget because adequate amount of budget is allocated to lowpriority applications. However, penalty percentage offered by online heuristic algorithm is relatively higher because bandwidth is not distributed among all applications; rather, all the sensitive applications use reserved budget and nonsensitive applications use flexible budget. When sensitive applications run out of reserved budget, they take help from flexible budget. Consequently, lowpriority applications are deprived of sufficient bandwidth.
Impacts of varying time intervals
Figure 5 a depicts that average resource utilization decreases with increasing time intervals for all the three graphs because longer time interval for algorithm execution leads to underprovisioning penalty. However, the proposed HIDM graph has a higher average resource utilization than both online heuristic and DBA algorithms. This is because when a highpriority application runs out of its reserved budget, it is allocated flexible budget repeatedly.
Figure 5 b–d depicts that the average penalty increases with the increasing time intervals because applications face underprovisioning penalty for longer time intervals during algorithm execution as the applications get stuck due to insufficient budget. On the contrary, if time interval for algorithm execution is too short, then overprovisioning penalty occurs. Thus, we need a tradeoff between over and underprovisioning penalties; 30−50min interval gives the best result in this case.
Computational time analysis
Estimated budget usage needs to be calculated based on the application’s historical usage pattern for determining appropriate budget reservation of each application. The estimated budget usage of an application is measured as a weighted average of last M time cycles. For the OIDM algorithm, the computational time increases significantly if \(\left  \mathcal {N} \right \) and M are large enough. In Fig. 6, we compare the computational time of all algorithms with increasing number of applications, ranging from 10∼60. From the graph, it is clear that when the number of applications is 40 and above, the computational time of OIDM increases exponentially because of its checking on all possible combinations required for updating the matrix for historical usage statistics. The computational overhead of heuristic algorithm is noticeably minimized for increasing number of applications as the value of M is adjusted time to time with \(\left  \mathcal {N} \right \).
Conclusions
The popularity of mobile devices and applications will necessitate the development of policies for effective Internet data budget allocation in order to avoid incurring excessive charges.
In this paper, we developed policies for Internet data budget allocation to heterogeneous applications running on mobile devices, specifically smartphones. The proposed optimal Internet data budget management (OIDM) maximizes the resource utilization while minimizing over and underprovisioning for all user applications. To prevent significant computational overhead and excessive delay in decision making when allocating data budget to each application in the OIDM system, we developed an alternate heuristic solution to the IDM problem. We relied upon the historical data budget usage behavior of the user applications in our recommendation of future Internet data budget plan following ARIMAbased resource prediction analysis. The testbed experimental results demonstrate that our proposed Internet data management policies benefit mobile device user by increasing the resource utilization and decreasing the average percentage of penalty.
References
 1
A Azfar, KKR Choo, L Liu, Android mobile VoIP apps: a survey and examination of their security and privacy.Electron. Commer. Res. 16(1), 73–111 (2016). Available from http://dx.doi.org/10.1007/s1066001592081.
 2
TD Buskirk, C Andrus, in Journal Survey Practice. Smart surveys for smart phones: exploring various approaches for conducting online mobile surveys via smartphones, American Association for Public Opinion Research, (2012), pp. 1–11.
 3
A Smith, in The Smartphone Difference. U.S. smartphone use in 2015, Pew Research Center, USA (Pew Research Center, 2015). Available from http://www.pewinternet.org/2015/04/01/ussmartphoneusein2015/.
 4
MR Rahimi, J Ren, CH Liu, AV Vasilakos, N Venkatasubramanian, Mobile cloud computing: a survey, state of art and future directions. Mobile Netw. Appl. 19(2), 133–143 (2014).
 5
M Yang, Y Li, D Jin, L Zeng, X Wu, AV Vasilakos, Softwaredefined and virtualized future mobile and wireless networks: a survey. Mobile Netw. Appl. 20(1), 4–18 (2015).
 6
A Gutierrez, RG Dreslinski, TF Wenisch, T Mudge, A Saidi, C Emmons, et al, in Workload Characterization (IISWC) 2011 IEEE International Symposium on. Fullsystem analysis and characterization of interactive smartphone applications, USA, (2011), pp. 81–90.
 7
S Pokharel, KKR Choo, J Liu, Can Android VoIP voice conversations be decoded? I can eavesdrop on your Android VoIP communication. Concurrency and Computation: Practice and Experience (2016). Available from http://dx.doi.org/10.1002/cpe.3845.
 8
MR Rahimi, N Venkatasubramanian, S Mehrotra, AV Vasilakos, in Utility and Cloud Computing (UCC) 2012 IEEE Fifth International Conference on. MAPCloud: mobile applications on an elastic and scalable 2tier cloud architecture, USA, (2012), pp. 83–90.
 9
J Chon, H Cha, LifeMap: a smartphonebased context provider for locationbased services. IEEE Pervasive Comput. 10(2), 58–67 (2011).
 10
CC Chen, TC Huang, JJ Park, NY Yen, Realtime smartphone sensing and recommendations towards contextawareness shopping. Multimedia Syst. 21(1), 61–72 (2015). Available from http://dblp.unitrier.de/db/journals/mms/mms21.html#ChenHPY15.
 11
KK Rachuri, C Efstratiou, I Leontiadis, C Mascolo, PJ Rentfrow, Smartphone sensing offloading for efficiently supporting social sensing applications. Pervasive Mobile Comput (2013). Available from http://dx.doi.org/10.1016/j.pmcj.2013.10.005.
 12
A Oulasvirta, T Rattenbury, L Ma, E Raita, Habits make smartphone use more pervasive. Personal Ubiquitous Comput. 16(1), 105–114 (2012). Available from http://dx.doi.org/10.1007/s0077901104122.
 13
A Rahmati, L Zhong, Studying smartphone usage: lessons from a fourmonth field study. IEEE Trans. Mobile Comput. 12(7), 1417–1427 (2013). Available from http://dx.doi.org/10.1109/tmc.2012.127.
 14
D Zhang, D Zhang, H Xiong, CH Hsu, AV Vasilakos, BASA: building mobile adhoc social networks on top of android. IEEE Netw. 28(1), 4–9 (2014).
 15
TMT Do, J Blom, D GaticaPerez, in Proceedings of the 13th International Conference on Multimodal Interfaces. ICMI ’11. Smartphone usage in the wild: a largescale analysis of applications and context (ACMNew York, 2011), pp. 353–360. Available from http://doi.acm.org/10.1145/2070481.2070550.
 16
H Falaki, R Mahajan, S Kandula, D Lymberopoulos, R Govindan, D Estrin, in Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services. MobiSys ’10. Diversity in smartphone usage (ACMNew York, 2010), pp. 179–194. Available from http://doi.acm.org/10.1145/1814433.1814453.
 17
O Amft, P Lukowicz, From backpacks to smartphones: past, present, and future of wearable computers. IEEE Pervasive Comput. 8(3), 8–13 (2009).
 18
H Liu, S Hu, W Zheng, Z Xie, S Wang, P Hui, et al, in INFOCOM, 2013 Proceedings IEEE. Efficient 3G budget utilization in mobile participatory sensing applications, Turin, Italy, (2013), pp. 1411–1419.
 19
C Luo, H Ji, Y Li, in 2009 IEEE Wireless Communications and Networking Conference. Utilitybased multiservice bandwidth allocation in the 4G heterogeneous wireless access networks, Hungary, (2009), pp. 1–5.
 20
ME Khoda, MA Razzaque, A Almogren, MM Hassan, A Alamri, A Alelaiwi, Efficient computation offloading decision in mobile cloud computing over 5G network. Mobile Netw. Appl, 1–16 (2016). Available from http://dx.doi.org/10.1007/s1103601606886.
 21
MM Hassan, Costeffective resource provisioning for multimedia cloudbased eHealth systems. Multimedia Tools Appl. 74(14), 5225–5241 (2015). Available from http://dx.doi.org/10.1007/s1104201420400.
 22
S Rahman, AA Prima, MA Razzaque, in 2016 International Conference on 771 Networking Systems and Security (NSysS), 773. Optimal allocation of 3G budget 772 for smartphones running heterogeneous applications, Dhaka, Bangladesh, (2016), pp. 1–6.
 23
J Chen, Q Liang, J Wang, in The Proceedings of the Third International Conference on Communications, Signal Processing, and Systems Part III, 777. Bandwidth allocation based on personality traits on smartphone usage and channel condition, Springer, (2015), pp. 273–282.
 24
HM Huang, YH Wang, Bandwidth management method for heterogeneous wireless network. WTOC. 7(4), 267–276 (2008). Available from http://dl.acm.org/citation.cfm?id=1455946.1455953.
 25
MR Rahimi, N Venkatasubramanian, AV Vasilakos, in 2013 IEEE Sixth International Conference on Cloud Computing. MuSIC: mobilityaware optimal service allocation in mobile cloud computing, USA, (2013), pp. 75–82.
 26
J Wan, J Liu, Z Shao, AV Vasilakos, M Imran, K Zhou, Mobile crowd sensing for traffic prediction in internet of vehicles. Sensors. 16(1), 88 (2016).
 27
Z Feng, Y Zhu, Q Zhang, LM Ni, AV Vasilakos, in IEEE INFOCOM 2014  IEEE Conference on Computer Communications, 789. TRAC: truthful auction for locationaware collaborative sensing in mobile crowdsourcing, Toronto, Canada, (2014), pp. 1231–1239.
 28
H Cai, Y Gu, A Vasilakos, B Xu, J Zhou, ModelDriven Development Patterns for Mobile Services in Cloud of Things. IEEE Trans. Cloud Comput. PP(99), 1–1 (2016). doi:10.1109/TCC.2016.252600.
 29
W Fang, Y Li, H Zhang, N Xiong, J Lai, AV Vasilakos, On the throughputenergy tradeoff for data transmission between cloud and mobile devices. Inf. Sci. 283:, 79–93 (2014).
 30
L Mashayekhy, MM Nejad, D Grosu, AV Vasilakos, An online mechanism for resource allocation and pricing in clouds. IEEE Trans. Comput. 65(4), 1172–1184 (2016).
 31
D LópezPérez, X Chu, AV Vasilakos, H Claussen, On distributed and coordinated resource allocation for interference mitigation in selforganizing LTE networks. IEEE/ACM Trans. Netw. 21(4), 1145–1158 (2013).
 32
D LopezPerez, X Chu, AV Vasilakos, H Claussen, Power minimization based resource allocation for interference mitigation in OFDMA femtocell networks. IEEE J. Selected Areas Commun. 32(2), 333–344 (2014).
 33
T Liu, Y Zhu, Q Zhang, A Vasilakos, Stochastic optimal control for participatory sensing systems with heterogenous requests. IEEE Trans. Comput. 65(5), 1619–1631 (2016).
 34
S Chaisiri, BS Lee, D Niyato, Optimization of resource provisioning cost in cloud computing. IEEE Trans. Serv. Comput. 5(2), 164–177 (2012).
 35
Z Dong, L Kong, P Cheng, L He, Y Gu, L Fang, et al, in 2014 Eleventh Annual IEEE International Conference on Sensing, Communication, and Networking (SECON). REPC: Reliable and efficient participatory computing for mobile devices, Singapore, (2014), pp. 257–265.
 36
F Martignon, S Paris, I Filippini, L Chen, A Capone, Efficient and truthful bandwidth allocation in wireless mesh community networks. IEEE/ACM Trans. Netw. 23(1), 161–174 (2015).
 37
J Guo, F Liu, X Huang, JCS Lui, M Hu, Q Gao, et al, in IEEE INFOCOM 2014 IEEE Conference on Computer Communications. On efficient bandwidth allocation for traffic variability in datacenters, Toronto, Canada, (2014), pp. 1572–1580.
 38
ALL SOLVERS FOR A Mathematical Programming Language (AMPL). http://ampl.com/products/solvers/allsolversforampl/. Accessed 06 March 2016.
 39
S Floyd, M Handley, J Padhye, J Widmer, in Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication. SIGCOMM ’00. Equationbased congestion control for Unicast applications (ACMNew York, 2000), pp. 43–56. Available from http://doi.acm.org/10.1145/347059.347397.
 40
A Razzaque, CS Hong, S Lee, E93B. Autonomous traffic engineering for boosting application fidelity in wireless sensor networks (IEICE Trans. Commun, 2010), pp. 2990–3003.
 41
Autoregressive integrated moving average models (ARIMA). http://www.forecastingsolutions.com/arima.html. Accessed 16 Jan 2016.
 42
GEP Box, G Jenkins, Time Series Analysis, Forecasting and Control (HoldenDay, San Francisco, 1970).
 43
X Jin, Y Dong, J Wu, J Wang, in Information Science and Management Engineering (ISME) 2010 International Conference of, 2. An improved combined forecasting method for electric power load based on autoregressive integrated moving average model, China, (2010), pp. 476–480.
 44
N Citroen, M Ouassaid, M Maaroufi, in Electrical and Information Technologies (ICEIT) 2015 International Conference on. Long term electricity demand forecasting using autoregressive integrated moving average model: case study of Morocco, Morocco, (2015), pp. 59–64.
Acknowledgements
The authors would like to extend their sincere appreciation to the Deanship of Scientific Research at King Saud University for its funding of this research through the research group project no. RGP281.
Competing interests
The authors declare that they have no competing interests.
Author information
Affiliations
Corresponding author
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Rahman, S., Prima, A.A., Razzaque, M.A. et al. Internet data budget allocation policies for diverse smartphone applications. J Wireless Com Network 2016, 226 (2016). https://doi.org/10.1186/s1363801607279
Received:
Accepted:
Published:
Keywords
 Internet data budget
 Smartphone applications
 Dynamic budget allocation
 Mixedinteger nonlinear programming optimization
 Resource utilization