emune
Transcription
emune
MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES 1 EMUNE: Architecture for Mobile Data Transfer Scheduling with Network Availability Predictions Upendra Rathnayake, Henrik Petander,Maximilian Ott and Aruna Seneviratne Abstract—With the mobile communication market increasingly moving towards value-added services the network cost will need to be included in the service offering itself. This will lead service providers to optimize network usage based on real cost rather than the simplified network plans sold to consumers traditionally. Meanwhile, today’s mobile devices are increasingly containing multiple radios, enabling users on the move to take advantage of the heterogeneous wireless network environment. In addition, we observe that many bandwidth intensive services such as video on demand and software updates are essentially non real-time and buffers in mobile devices are effectively unlimited. We therefore propose EMUNE, a new transfer service which leverages these aspects. It supports opportunistic bulk transfers in high bandwidth networks while adapting to device power concerns, application requirements and user preferences of cost and quality. Our proposed architecture consists of an API, a transport service and two main functional units. The well defined API hides all internal complexities from a programmer and provides easy access to the functionalities. The prediction engine infers future network and bandwidth availability. The scheduling engine takes the output of the prediction engine as well as the power and monetary costs, application requirements and user preferences into account and determines which interface to use, when and for how long for all outstanding data transfer requests. The transport service accordingly executes the inferred data transfer schedule. The results from the implementation of EMUNE’s and of the prediction and scheduling engines evaluated against real user data show the effectiveness of the proposed architecture for better utilization of multiple network interfaces in mobile devices. Index Terms—Network Interface Selection, Network Availability Prediction, Data Transfer Scheduling. F 1 I NTRODUCTION T ODAY ’ S mobile devices are increasingly containing multiple radio interfaces. User mobility allows them to connect to multiple access networks with different characteristics at different times. Prior work such as [33] has demonstrated that a user can optimize the utility by performing vertical handovers between different available networks. The general focus of vertical handovers to date is to provide continuous connectivity. But there is a large class of bandwidth intensive non/near-realtime applications such as software updates, podcasts, email and even video on demand (with HTTP streaming) where continuous connectivity is not mandatory. Current and emerging mobile devices with a high memory capacity enable the support of this class of applications using smart scheduling and buffering. In other words, the data transfers can be scheduled taking into consideration a number of factors such as power usage, user preferences such as the willingness to wait, and monetary cost. This will provide benefits to the users by adapting to their preferences, and also to the network operator by enabling them to better utilize their network resources by distributing traffic between different access networks • U. Rathnayake is with EET school of UNSW, and also with NICTA, Sydney, Australia. E-mail: [email protected] • H. Petander, M. Ott and A. Seneviratne are with NICTA, Sydney, Australia. A. Seneviratne in addition is with EET school of UNSW, Sydney, Australia. over different times. In addition, the user utility can further be enhanced using network availability predictions. The use of smart buffering, scheduling and prediction is not new and different proposals [1], [2], [6], [20], [21], [22] have addressed different aspects. But to the best of our knowledge, none of the work reported to date provides a complete solution as described in the related work section. That means, they do not provide a system which does prediction, scheduling and execution of the schedule with a proper transport service, so that the user utility is maximized and the communication costs minimized by exploiting the delay tolerance of applications. Moreover, they do not provide methods which use context information commonly available to a mobile user to accurately predict the network availability. And schedulers that consider the uncertainties associated with predictions. In this paper, we therefore present an architecture which enables client side decision making, taking into consideration network and bandwidth availability predictions, user preferences and the application requirements to optimally schedule data transfers while taking into account the uncertainty in predictions. Additionally, as the decision engine resides only in the mobile device, no changes to the infrastructure is required. In so doing this paper makes two main contributions in addition to presenting the architecture, namely: • Provides a method which uses commonly available context information for accurately predicting the availability (and the available bandwidth) of each MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES network type, which is based on Dynamic Bayesian Networks. Also contains an analysis of the model’s computational complexity; and • Presents a computationally inexpensive optimization method to schedule the data transfers of all applications dynamically which takes into account the application requirements, user preferences of quality and cost, and the network availability predictions together with the uncertainty associated with them. The rest of the paper is organized as follows. In the next section we will consider a motivating scenario for the proposed architecture. This is followed by related work. Section 4 presents the proposed architecture followed by implementation details of the API and the transport service in section 5. Section 6 describes the prediction engine in detail followed by the models and results of the scheduling engine in Section 7. The conclusion is presented in Section 8. 2 2 Fig. 2. Scheduled downloading. the coverage area of hotspot #2. This is schematically shown in Figure 2. M OTIVATING S CENARIO Imagine a person in a place such as an airport or a city cafe, where Wi-Fi hotspots are overlaid over a 3G network as shown in Figure 1. Assume that a user in the hotspot #1 area is progressively downloading and watching a video on demand file. Further assume that the mobile device is trying to download a newly available software update in the background. Fig. 1. Heterogeneous Computing Scenario Now consider the situation where the user moves out of the coverage area of hotspot #1 into a more congested and ”costly” 3G network. However, the route she is taking will take her into an area covered by another hotspot #2 some time later. In this case, if the mobile device can predict the availability of hotspot #2 ahead of time, it will be possible to provide better utility. This can be done by first re-scheduling the software update and using the available bandwidth to buffer the VOD data before moving out of the coverage area of hotspot #1. Secondly, when out of the hotspot area #1 and connected to the more expensive 3G network, the device will download the VOD data at a minimum rate which will enable smooth play back of the video and pause the data transfer for the software update until in 3 R ELATED W ORK It can be convincingly demonstrated that the usage of multiple radio interfaces can dramatically improve the performance and functionality of mobile communications when compared to using a single radio interface [15]. One of the primary focuses of evaluating multi interfaced systems in the literature has been the switching among multiple network interfaces to reduce the overall power consumption [1], [16], [17]. In contrast, our work is focusing on improving the overall user utility. Another focus has been the selection of network interfaces using policy based mechanisms[18], [19]. Moreover, [23]-[27] demonstrate how to select the best interface dynamically in a heterogeneous network environment. However, they assume using a single network interface at one time. The main motivation behind all of this work was to accommodate continuous connectivity through the interface which will satisfy the needs of applications and user’s preferences, while optimizing the vertical handoff decisions. They do not consider exploiting tolerance of delay of applications to improve user utility. A method of maximizing user expectations for nonreal-time data, by enabling cost and performance-aware selection is described in [20]. The proposed method is static as it uses a pre-specified set of networks for a given application. A method which uses a policy based mechanism for context aware connectivity management is presented in [21]. A scheduling mechanism for transmitting time-critical data in a cost-aware manner over heterogeneous networks has been presented in [22]. Compared to our scheme, these schemes are reactive in that they do not consider future network/bandwidth availability. Further, Thompson et al. have proposed a flow scheduling mechanism named PERM [41], which tries to improve latency and transmission times by predicting the users’ traffic and then allocating them MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES to different networks. Compared to our work, PERM does not predict the availability of networks for mobile users and it mostly caters for only the residential users. Further, the network allocation for the flows is static and most importantly, do not exploit the delay tolerance of applications to maximize the benefits to the users. When it comes to predicting network availability, we observe that it has been extensively investigated over the past few years. [1] describes a method of determining the Wi-Fi availability in a particular GSM cell. They do this by simply recording the Wi-Fi presence every 5 minutes and use the ratio of the number of times a WLAN was available over the number of times it was recorded to infer the probability one would encounter a Wi-Fi network in a given GSM cell. In contrast to our scheme, this method does not provide any indication of the probability of the user being within a WLAN coverage area ahead of time. Similar approaches with domain independent mobility models have also been reported in literature as surveyed in [7]. Song et al. [8] evaluate such domain independent location predictors with extensive Wi-Fi data collected in a campus environments. They show that simple low order Markov predictors work better than high-order Markov predictors and work as well or better than the more complex compression-based predictors. However these proposals are generally for a single network environment and more importantly in contrast to the proposed scheme, do not provide any indication of availability ahead of time. Vanrompay et al. [6] treat the network availability prediction as an embedded task in user mobility predictions. Here the mobility prediction is used for resource scheduling with availability of Bluetooth connectivity. Given the next user location obtained from the user path predictions, whether the Bluetooth connectivity exists in that location is found using a Bluetooth coverage map. Similarly, a number of domain specific user path prediction approaches [9], [11], [12], [13] can be coupled with network coverage maps or more sophisticated QoS maps as in [10], to predict the availability of networks ahead of time. However, these models are based on assumptions such as constant user speed, fixed cell size and shape, which are unrealistic. In contrast, our prediction approach uses any available context information to predict network availability with respect to time in a heterogeneous environment, without using any domain specific knowledge. With regard to our scheduling engine work, the closest solution for scheduling data transfers for maximizing user utility on multi-interfaced mobile devices in heterogeneous networking environments is [2]. The authors propose a scheduling scheme based on a hill climbing algorithm to maximize user utilities over energy and monetary costs for non-real-time bulk data. They take into account future network availability and use the predicted availability to schedule the data transfers. However, this work assumes that the network availability predictions are perfect and that the predictions can 3 be derived for arbitrarily long durations, assumptions which are clearly not realistic. Stochastic scheduling, which our proposed scheduling scheme is based on, has been extensively studied in multi-processor [29], [30] and multi-server environments [31], [32]. This body of work considers the problem of allocating resources to requests, such as processors to programs, servers to customer requests, while addressing the uncertainties associated with requests. However, our proposed scheme differs from these in two fundamental ways. First, we consider the unavailability of resources, namely the unavailability of wireless networks. Second, as described in section 7.2, we look into the resource (network) availability in the future and also consider the cost of resources, namely the costs of using different networks, in the optimization. 4 A RCHITECTURE FOR E FFECTIVE M OBILE U SAGE OF HETEROGE N EOUS N E TWORKS EM U N E EMUNE provides support for non/near-real-time applications. It consists of four components, namely an API which provides easy access to the functionality offered, two separate functional units: a prediction engine and a scheduling engine, and a transport service as shown in Figure 3. Fig. 3. EMUNE Architecture. The API provides an interface to a scheduling library through which, application programmers can gain access to the functionality provided by EMUNE. Two types of non-real-time applications are supported by the API: bulk data transfer and streaming applications. The applications will request from the API to transfer data with their requirements and then, EMUNE will exploit the delay tolerance of them to maximize user utility and to minimize network costs in transferring their data. More details follow in the section 5.1. The prediction engine is responsible for predicting the future availability of networks and their bandwidths, so that the scheduling engine can assign data transfers of applications to appropriate networks to get the best MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES 4 2) Preferred transfer time: the soft deadline - section 7.1 3) Maximum transfer time: the hard deadline - section 7.1 Streaming 1) Size of data; 2) Duration of the stream; and 3) Maximum startup delay: the time EMUNE has to buffer data before playback. Fig. 4. Buffers offering flexibility in scheduling. utility. It records the mobile device’s associated context information for prediction purposes as described in section 6. The scheduling engine in EMUNE is responsible for determining the schedule for the transfer of data from each application for maximizing user utility while minimizing power and monetary costs. It obtains network and power cost information, network and bandwidth availability predictions and also application requirements to derive its schedule as described in detail in section 7. The transport service assigns data transfers of each application over available networks according to the schedule given by the scheduling engine, by controlling relevant communication protocols accordingly (section 5.2). 5 R EALIZATION OF THE API AND THE T RANS S ERVICE PORT 5.1 API In scheduling, the flexibility offered by the delay tolerance of applications is schematically shown in Figure 4 for the scenario described in section 2. For bulk data transfers, as the data is accessed only after all the data have been downloaded, data can be fetched any time and in any order before the deadline without having to maintain a minimum overall rate1 (S/W updates in Figure 4). On the other hand, streaming applications read data from a buffer at a given rate depending on the codec. Therefore, EMUNE should make sure that data of these applications are downloaded while satisfying a ”minimum transfer rate” as discussed in section 7.1. In EMUNE, the API allows bulk data applications to specify the file size and when the transfer should be completed. The streaming applications can indicate the size and the duration of the stream and also how much time the application can afford to wait before starting playback. This is done by accepting following parameters: Bulk Data 1) Size of data; 1. This applies for small downloads which can be finished during the prediction window. For larger downloads, a minimum download rate is necessary to adhere to the transfer deadlines ( 7.2.2). The API should pass the parameters ”minimum transfer rate”,”soft deadline” and ”hard deadline” to the scheduling engine for each application bulk or stream. For bulk transfers, former is calculated by dividing the size by the preferred transfer time whereas the latter two are directly available. For streaming applications, the duration is used as the soft deadline. The hard deadline is calculated from the soft deadline by adding the maximum startup delay to it. Further, the ”minimum transfer rate” is taken as the size divided by the duration. EMUNE then combines these information with system wide user preferences or utility functions (section 7.1), and network availability predictions from the predication engine to schedule the transfer of data as described in section 7. The API is provided by extending the socket API. The socket library calls connect and accept which wrap the socket system calls are modified to accept a variable number of extra arguments in addition to the standard socket system call arguments. This way of extending the socket calls allows legacy applications to remain unchanged. The extra arguments to socket calls from ”EMUNE aware” applications are extracted from the system C library and required parameters are passed to the EMUNE scheduler along with the information about the application and the socket information. For legacy applications some of these requirements may be learned by intercepting and reading the header information of application traffic to determine sizes of HTTP downloads or bitrates of video streams. This information could then be matched with application or service profiles based on URLs, domain names, or other supporting information. Combining the application specific requirements learned through the API and utility functions allows EMUNE to prioritize applications if there is a shortage of network capacity preventing EMUNE from attempting to satisfy the requirements of all applications. To track the buffer occupancy of the connection and adjust the scheduling, EMUNE tracks further actions on the socket, namely reading and writing from the socket and closing it. Similar buffering is already done in applications, such as online flash based video players, in which one thread reads data from the network as fast as possible and writes it into a buffer from which a second thread reads the data for the video codec at the codec data rate. Moving this common functionality into the scheduling MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES Fig. 5. Transport service network architecture. library simplifies the writing of streaming applications and allows for the coexistence all applications without starvation of bandwidth. The API was implemented by intercepting the socket library calls using a shim layer which intercepts the library calls. Although, this approach adds an overhead to these system calls, the overhead is small enough to not affect the performance of networked applications noticeably. The API can also be implemented by updating the C library. 5.2 Transport Service A combination of Monami [36] and FreezeTCP [28] protocols is used in EMUNE to provide the transport service. The Monami provides a mechanism to dynamically direct flows over different networks. FreezeTCP enables flows to be paused and resumed. Together, they enable EMUNE to optimally use the available networks across time and space. The Monami protocol operates between a mobile node and a fixed anchor point router, the home agent, and can move data traffic flows across different network interfaces. The benefit of using Monami is that it can treat each flow independently of the other flows. FreezeTCP on the other hand uses TCP zero window messages to pause data transfers and can resume transfers on demand as long as the receiver acknowledges keep alive messages from the sender. Furthermore, FreezeTCP can be used as a mechanism to pause flows when transfers are ”costly” and resume when conditions have improved, similar to limiting the impact of brief disconnections of network outages [37]. The upside of this is that the prediction requirements are less strict, and the mobile node would nearly always be able to respond to TCP keep alive messages via UMTS or GPRS, thus enabling longer pausing of downloads or uploads. This is illustrated in Figure 5 which shows how MONAMI can be used to reroute the TCP keepalive messages over UMTS to the mobile device with the help of its Home Agent. The use of these two protocols do not require any changes to the communication peers in the fixed network. Support for simultaneous multi-homing, i.e. using more than one network interface for the same data transfer session could also potentially increase the performance of the transport, if RCP [38] protocol is used. 5 Anyway, the proposed system does not rely on RCP as a transport and session management mechanism due to deployability concerns. However, RCP could be used between Mobile Node and Home Agent acting as a proxy. We leave this optimization as future work. 6 T HE D ESIGN OF THE P REDICTION E NGINE The prediction engine provides information about future availability of networks and their available bandwidths for each network type supported by the mobile device. The models we used to predict network availability and their computational complexities are described in the following subsections. 6.1 The Prediction Models There are numerous ways for predicting network availability. However, as described in the related work section, these approaches are associated with shortcomings due to the assumptions such as fixed cell size, shape, constant user speed etc. Additionally, the accuracy of predictions can be increased by considering not only location based information, but by using any other context information which influences future network availability, which has mostly been ignored by the state of the art. Therefore, one needs to consider this system of all of the context variables (including location based variables) in predicting network availability. To address this, we proposed modeling the system as an nth order Semi-Markov model. We first did an experiment to record as many context variables as possible for 12 users in Sydney, Australia. The variable set included 4 context variables where 3 of them are binary which includes the variable that we want to predict, ”the availability of WLAN”. The remaining context variable had a number of realizations, typically 10 to 15 on average for a user. With this data set, we showed that the second order Semi-Markov model causes less prediction errors [3]. However, there are a number of unobserved context variables which limits the accuracy of the predictions. To overcome this, we proposed to model the system containing a hidden variable to account for the unobserved context variables, i.e. assuming that it is possible to map a number of unobserved variables to a single hidden variable. This enabled the system to be modeled as a Hidden Markov Model (HMM) shown in Figure 6.a. However, the prediction accuracy with the HMM was inferior to the Semi-Markov model proposed earlier. The under-performance stems from the limiting assumption in HMM that the current observation does not depend on the previous observation. This can be overcome by making the current observation dependent on the previous observation, which is referred to commonly as Auto-Regressive HMM (Figure 6.b). But this model results in significant increase in the parameter space and hence the computational complexity. To reduce the parameter space, we proposed a generic Dynamic Bayesian Network (DBN) based model where MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES 6 and be using them precociously. That will lead to a less load on the network at the congested times as the users will time shift their delay tolerant traffic with a system like EMUNE. 6.2 Fig. 6. HMM and Auto-Regressive HMM Models for two time steps. Fig. 7. The DBN Model for two time steps. Fig. 8. Prediction errors with different models. the observable variables are individually represented in the model [4]. This reduces the parameter space but looses the tight coupling between consecutive observations, as shown in Figure 7 for the four variables. The Figure 8 shows that this model provides better accuracy than both Semi-Markov and HMM models where average prediction error with the Semi-Markov order 2 was found to be 29%, with HMM - 35% and with DBN - 23%. Although we limit our work only to predicting the presence of networks, the same methods would readily be extended for predicting not only presence, but parameters such as available bandwidth, provided the users are able to record those information. On one hand, the mobile device itself can send a probe packet to the network and can measure the available bandwidth at a point in time intrusively. The best way, however, is by making such information available to the users by the networks. The incentive for the networks for doing that is, when coupled with a congestion based pricing scheme as in [40], the users are aware of the status of the network Computational complexities of the models The HMM, Auto-Regressive HMM and DBN models are typically trained using the EM algorithm for calculating parameters [14]. The higher the total number of parameters to be estimated, the higher the number of computations needed in training the model as in the M step of EM, we need to maximize against all of the unknown parameters [14]. Therefore, we compare2 these models’ computational complexities in terms of their number of unique parameters to be estimated. In comparison, the Semi-Markov model does not involve running any algorithm to train model parameters unlike in above models, but merely counts the events to calculate the parameters. Therefore, it is not considered in this comparison and it can safely be assumed to have insignificant computational complexity. In an HMM, the observable variable O depends only on the current hidden variable H. The Hidden variable depends only on the previous hidden variable as shown in Figure 6.a. In our set up, we used the vector containing all of the four observed context variables as the O. Each different combination of realizations of the four variables becomes a separate realization of O. The H represents the entire unobserved context variables and we assumed 3 realizations for the H [4]. As mentioned in the section 6.1, of these four context variables, three variables are binary whereas the remainder has number of realizations. Let us denote that number with L. With this configuration, for the HMM the number of unique parameters to be estimated for the conditional probability table (CPT) of the O is 3 × (8L − 1). For H at t2 , it is 3 × (3 − 1) and for H at t1 , (3 − 1), resulting the total number of parameters (24L + 5). Note that for the HMM, the O variable at t1 and t2 both have the same dependencies and can be tied together for having the same CPT. On the other hand, the numbers are as follows for the Auto-regressive HMM. O at t1 = 3 × (8L − 1), O at t2 = 8L × 3 × (8L − 1), H at t1 = (3 − 1) and H at t2 = 3 × (3 − 1) resulting a total of (192L2 + 5). In the Semi-Markov and HMM models, all of the observed variables were modeled as a single vector valued variable. However, they were taken as separate individual variables in the DBN model shown in Figure 7 for the four variables. H on the top of the model diagram is the hidden variable as before, which accounts for the entire unobserved context. The bottom one O4 represents the observable variable that we want to predict; ”the availability of WLAN” in this case. All the other observable variables are in the middle; O1 , O2 and O3 in this case (O1 is the one which has L number of 2. We include the Auto-Regressive HMM to show the explosion of the parameter space with this model MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES Fig. 9. Number of Parameters with Different Models. realizations). With this dependency structure, this model results in number of unique parameters for the CPT of each variable as follows. At t1 , H = (3−1), O1 = 3×(L− 1), O2 = 3 × (2 − 1), O3 = 3 × (2 − 1), O4 = 12L × (2 − 1) and at t2 , H = 3 × (3 − 1), O1 = 3L × (L − 1), O2 = 6 × (2 − 1), O3 = 6 × (2 − 1), O4 = 24L × (2 − 1) with (3L2 + 36L + 23) total number of parameters. Figure 9 shows how the total number grows against L in log scale. With L = 10, the number of parameters to be estimated for the HMM and this model are 245 and 683, in contrast to the 19205 in Auto-Regressive HMM, less than one twentieth of it. Even though the total number of parameters for both the DBN and the Auto-Regressive HMM models are second order polynomials of L, the clear difference between the number of parameters for typical values of L is caused by the difference in the respective coefficients of L2 . Note that for the DBN, it is 3 whereas for AutoRegressive HMM, it is 192 which explodes the parameter space even for low values of L. This clearly shows that the DBN model limits the number of model parameters whilst still preserving the real dependency structure of the observable variables to some extent making it capable of effectively using hidden variables to better predict network availability than HMM, Auto-Regressive HMM and Semi-Markov models. 7 T HE D ESIGN OF THE S CHEDULING E NGINE Scheduling in mobile communications has also received considerable attention. However, they assume perfect network availability predictions taken over arbitrarily longer durations as described in the related work section. The way to overcome this is to use a stochastic optimization model for probabilistically scheduling data transfers. In our earlier work [5], we proposed such a model and showed with real user data that it optimizes network usage for delay tolerant applications by maximizing user utility while minimizing network costs. However, it is necessary to reduce its number of 7 computations for practical use and in this section, we describe an enhanced version of the model. We further show with the same real user data that it performs closer to the stochastic model and also better than other non stochastic variants and greedy approaches under numerous networking conditions. To determine the schedule, the scheduling engine takes a number of inputs: • The predicted network availability profile and bandwidth for each network type, • The power cost incurred in transferring data and the monetary cost of usage, • Application requirements, • User preferences for costs and quality in terms of application utility functions (section 7.1). The predictions are obtained from the prediction engine. EMUNE can measure the power cost as in [1]. The monetary cost can be calculated from the details of tariff plans provided by the user to the system at the time of initializing the system. Additionally, the monetary cost can be obtained on the fly from the networks such as in the case of congestion based pricing. The applications’ ”minimum transfer rate” requirement is obtained via the API. The utility functions are formed by using user preferences stored in a configuration file together with soft and hard deadlines received through the API for each application needing data transfer. Using these information, the scheduling engine finds an optimal schedule for transferring data of all application requests. Further, it dynamically revises its schedules when new data transfer requests come or when circumstances change. 7.1 Utility Functions for Applications User utility functions for applications play a prominent role in scheduling. Utility functions represent a user’s preferences for transferring application data over a period of time. They can be used to differentiate applications’ importance from the user’s point of view. The utility function specifies the utility of having a data unit of an application at time ”t” and these functions assume that even partial download (e.g. web pages, video) or a completion beyond the deadline (e.g. software updates) can be useful. Previously proposed schemes have used linearly decreasing utility functions where the rate of decrease is a constant throughout and the utility approaches to zero after a hard deadline, as illustrated in Figure 10.a [2]. As this does not correctly represent the utility, specially of non-real-time applications, we proposed piecewise linear utility functions where we consider two deadlines; soft and hard [5]. The soft deadline provides a way to schedule taking more risk of being even unable to complete the transfers by it. However, the hard deadline needs to be satisfied by the scheduler. We represent the corresponding utility function of non-real-time applications as a constant up to the soft deadline and decreasing linearly to zero by the hard MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES Fig. 10. Piecewise linear utility functions. Fig. 11. Scheduling Model. deadline, as depicted in Figure 10.b. During the soft deadline, it is possible to transfer data opportunistically whenever ”cheap” networks become available without losing any utility. Even for some near-real-time or realtime applications, if the transfer of the data with a constant rate satisfies the user, the utility function does not have to decrease over the time. In the case of a video download for example, if we keep a constant minimum reception rate for smooth playback of the video, then it is unreasonable to assume that the utility function will decrease fast, as it implies that the user is not interested in the latter part of the video file as much as at the beginning. We explicitly take a ”minimum transfer rate” parameter together with the utility function shown in Figure 10.c for those applications for scheduling data. Real-time and other applications where transferring the data ”sooner rather than later” really gives higher user satisfaction are represented by utility functions similar to Figure 10.a, in Figure 10.d. We call the value of the rate of decrease of an application’s utility function at a point in time as its ”urgency” at that time. And higher the utility function’s value of an application, the higher its ”importance” at that time. Formation of these utility functions involve combining applications’ requirements as well as user preferences together in an intelligent way. One coarse way would be to first divide all the applications into few broad classes and then enforce a user defined utility curve shape and a utility value for each class. However, we understand that deriving the fine grained utility functions is not a trivial task which itself needs further research. 7.2 Shorter Durations and Uncertainties: Stochastic-Deterministic Hybrid Model 8 The 7.2.1 Background We identified that the state of the art of scheduling makes two assumptions that (1) the predictions can be derived for arbitrarily longer periods with good accuracy and (2) the predictions are 100% perfect. However, from our own work [3], [4] and others work [39] on network availability prediction, we learned that these assumptions are hardly realistic. Accordingly, we proposed a model based on stochastic optimizations relaxing those assumptions in our earlier work [5]. In this paper, we propose a hybrid stochastic model which extends that model. We first describe the background of our previously proposed stochastic scheduling model briefly in this section, as the same was enhanced for reducing the number of computations. In our previously proposed model, we consider only a shorter scheduling duration (5-10 minutes) into the future at a point in time, for scheduling the data transfers based on network availability predictions, as shown in Figure 11. We re-schedule the remaining data for a new scheduling duration after passing the current scheduling duration and repeat this process. On one hand, the scheduling duration should have a limited time span as the network availability predictions cannot be derived for arbitrarily longer durations. On the other hand, it has to be short, because the wider the length of the duration, the higher the error in the network availability predictions for that duration. Moreover, by considering only the scheduling duration for maximizing utility and minimizing cost, if the utility of an application happens to be higher than the costs of at least two of the network interfaces, then data would be sent as much as possible within that duration over those interfaces. But for applications which do not loose utility over the time and can wait, such as software updates, it would be advantageous to look forward and find whether the cheaper networks would become available in the future. To facilitate this, we consider a second look up duration as well in the model (Figure 11). Despite having shorter prediction intervals, still the predictions for network availability are not perfect. Our own prediction work (section 6.1) shows that even with a good prediction model, the average prediction error is in the vicinity of 20%, which is significant. For example, we may predict that Wi-Fi will be available 60% of the time, but it might be available for only 40% of the time or as much as 80% of the time in reality, which we refer to as network availability scenarios. This scheduling problem of finding how much data from each application to be sent, and the corresponding level of usage of each network type poses a typical optimization problem, however containing variables that are associated with uncertainties (primarily the network availability predictions). Therefore, we used two stage stochastic linear programming [34], [35] for our previous model. With that, we can determine the ”reasonable amount” (on average, considering uncertainties) of data from each application that should be sent in the scheduling duration. This gives some recourse decisions as well, enabling one to later change some of the decisions about the use of different network interfaces, depending on the actual availability scenario. That means, for example, if the Wi-Fi networks are going to be available more than expected, how to utilize them optimally, or if going to MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES be available less than expected, how to use any other available network cost effectively. We re-estimate the availability of the scheduling duration in the middle and then accordingly try to execute those recourse decisions before the duration ends, although we are left with only a half of the scheduling duration to do that. 7.2.2 The Enhanced Model Let us introduce our notations first. Applications’ data are sent in small fixed sized amounts called bundles as in [2]. We define a time slot of an interface as the amount of time taken to send a bundle via that interface. Let Cj , be the cost (which can well be a combination of monetary, power etc costs) to send a bundle over an interface j. In the objective function f , we maximize the utility while minimizing the cost. Let I be the total number of applications, J be the total number of network interfaces, Xi,t the number of data bundles from application i that needs to be sent in duration t, and Ui,t be the average utility of application i in duration t. Further, we assumed that there are W and Z number of network availability scenarios in scheduling and lookup durations respectively, and a scenario in each duration be denoted by w and z accordingly. Then we denote, nj,1,w to be the number of time slots used to send data over interface j in duration 1, in availability scenario w; nj,2,z to be the number of time slots used to send data over interface j in duration 2, in availability scenario z; Nj,1,w to be the number of time slots available to send data over interface j in duration 1, in availability scenario w and Nj,2,z to be the number of time slots available to send data over interface j in duration 2, in availability scenario z. In our previous model, we made an important observation regarding the data amounts from each application to be sent in the scheduling duration (Xi,1 values), i.e. these amounts need not to be fixed at the beginning of the scheduling duration. Therefore, we decide the quantities considering the most expected availability scenario of the scheduling duration at the beginning of it and transfer accordingly up to the middle. At the middle of the scheduling duration, we re-estimate and find the actual availability scenario and if it is different from the expected scenario, we re-evaluate to find the corresponding quantities, which we could have known at the beginning of the scheduling duration had we known the availability in the scheduling duration perfectly. Then we adapt to these quantities and try to complete the transfers despite being left with only a half of the scheduling duration. Therefore in that model [5], we explicitly take into account the stochastic nature of the predictions only for the look up duration, but consider only a particular network availability scenario at a time for the scheduling duration. With this, we reduced the number of variables and constraints in that model. We showed in [5] that the average number of iterations (and hence a measure of the computational complexity) 9 for solving that model is 0.9 × (7I + (3 + 3Z)J + 2Z + 2). However, as the number of network availability scenarios in the lookup duration Z may become high, the amount of computations needed in the model can become considerably higher with more number of network interfaces J. Comparably, the uncertainty in the scheduling duration (the number of scenarios - W ) did not add computations as it was considered only implicitly in the model. To reduce the number of computations further, in this paper we propose to consider the stochastic nature only for the scheduling duration (still implicitly as before) but remove it from the look up duration with most expected predictions. This results in a hybrid stochastic model which (conceptually) considers uncertainties for the scheduling duration but considers only the most expected prediction for the look up duration. We analyze the trade-offs of this amendment through the results in the section 7.4. Then the maximization objective function f can be represented as in (1), where w̄ represents a particular scenario in the scheduling duration and z̃ represents the most expected availability scenario in the look up duration. Essentially, we discover the schedule: the optimal quantity of data from each application to be sent, and the corresponding optimal number of time slots to be used from each interface, during both the durations considering the future availability of networks. We take into account only that part of the schedule which corresponds to the scheduling duration and transfer the data accordingly. Because at a point in time, the look up duration is ahead the scheduling duration and therefore the network availability estimates for the look up duration are prone to more errors than for the scheduling duration. Additionally, we can get a prediction for another scheduling duration after passing the current scheduling duration. Therefore we use it to run the program for that scheduling duration considering another look up duration ahead and then the data is transferred for that scheduling duration. This step by step process is continued as long as we have data to be transferred. max f = I X 2 X Xi,t Ui,t − i=1 t=1 J X Cj [nj,1,w̄ + nj,2,z̃ ] (1) j=1 Subject to, Xi,1 ≥ αi ∀i 2 X (2) Xi,t ≥ βi ∀i (3) Xi,t ≤ γi ∀i (4) t=1 2 X t=1 nj,1,w̄ ≤ Nj,1,w̄ ∀j (5) MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES nj,2,z̃ ≤ Nj,2,z̃ ∀j I X Xi,1 = i=1 I X i=1 J X (6) nj,1,w̄ (7) nj,2,z̃ (8) j=1 Xi,2 = J X j=1 ∀ Xi,t , nj,1,w̄ , nj,2,z̃ ≥ 0 (9) The αi in equation (2) represents the minimum quantity of data of application i that needs to be transferred in the first duration to satisfy its ”minimum transfer rate” as discussed in section 7.1. We consider this ”minimum transfer rate” even for non-real-time applications so as to make sure the completion of their transfers before deadlines. βi in (3) represents the same minimum quantity of data that needs to be transferred for both the scheduling and lookup durations and the inequality allows part or all of the minimum amount of data for the second duration to be transferred in the first duration itself. γi in (4) on the other hand limits overusing the available interfaces providing delay tolerant applications the ability to hold data transfers so as to consume cheap future available networks as much as possible. Typically γi = Kβi where K(≥ 1) is a constant. Equations (7) and (8) give the quantity of data to be sent from each application, which is limited by the number of (predicted) available time slots given by the equations (5) and (6). So the model finds the schedule (the optimal way to use future available networks) with f , which is constrained by the equations (2) to (9), where the major constraint, the future availability of networks, are given in equations (5) to (8). 7.3 Emulation In our work on forecasting network availability, we predicted the availability of (intermittently available) WiFi for a 5 minutes duration, P (W i − F i), repeatedly for all the 5 minutes blocks in a day, for 60 days of 12 real users in Sydney, Australia (5 days per each user). We have recorded the actual Wi-Fi availability as well, on all those 60 days. In contrast to Wi-Fi, 3G was almost always available for all of the users. We found out that there are higher Wi-Fi availability prediction errors in the mornings and evenings coinciding user travel times. In evaluating the scheduler discussed in this section, we used these travel times. We take a single bundle to be of size 1 KB as in [2] and consider only the downloading path for the evaluation, although the models can work out for both ways indistinguishably. To emulate a typical data transfer session whilst mobile, we consider a scenario of a mobile user downloading data of three different applications simultaneously. Each application is assumed to have a 10 requirement to download 5, 30 and 100 MB. Let us define the utility functions of these three downloads as follows. The first download is assumed to have a higher utility which starts at 70 in some units, say 1/1000 000 of a dollar per downloading a bundle as in [2]. Then the utility linearly decreases to 10 within the first 5 minutes, then again linearly decreases to zero within the next 2 minutes, as depicted in Figure 10.d, resembling an urgent photo transferring application for example. The second download’s utility starts at 25, linearly decreases to 15 within 15 minutes time and then linearly decreases to zero in next 5 minutes as depicted in Figure 10.c. This represents a video downloading application for example. The third resembles a non urgent/non critical application, typically like a software update. Its utility starts at 15 and remains constant within the first 50 minutes, and then linearly decreases to zero in another 10 minutes, as depicted in Figure 10.b. Although these utility values are arbitrary, we selected them in such a way that the three applications’ importance is in decreasing order. Further, we change them to see the effects in section 7.4.4. We consider the GSM network presence to be equivalent to 3G network presence, a realistic assumption, and assume that it has 0.5 Mbps fixed rate (bandwidth) with cost of 20 in the same units per transferring a bundle, i.e. 2 cents/MB. The cost can well be a combination of dollar cost, power cost etc. On the other hand, Wi-Fi network is assumed to have a fixed rate of 1Mbps with 5 units of cost per transferring bundle, i.e. 0.5 cents/MB, one fourth of 3G network’s cost. In reality, 3G and Wi-Fi networks’ access bandwidths are diverse. However, we consider the above values to be typical end to end rates. Nevertheless, we change these rates relative to each other to see the consequences in section 7.4.3. Further, even though this emulation considers the variations only in the availability of the networks, the approach is applicable even with variable access bandwidths of networks. We take the scheduling duration of the model to be of 5 minutes, and consider a look up duration of 10 minutes. The scheduling duration has to be short, and the 5 minute time length is to match our predictions which have been derived for 5 minute length intervals. The 10 minute length of the look up duration enables to look into the future to a fare extent (two times the length of the scheduling duration). Assume that we want to schedule our applications’ data transfers for the next 5 minutes at a given point in time. For that scheduling duration, it is possible to predict the Wi-Fi network availability, P (Wi-Fi), as described in section 6.1. Then we extrapolate the availability of Wi-Fi networks for the look up duration by using the Wi-Fi network availability that was observed in the 15 minutes immediately prior, together with P (Wi-Fi) using linear regression. We consider several other models as well for comparison purposes and emulate the same data transfer scenario with them. ”Hybrid” legend in the figures in the next section represents the model discussed here. MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES ”Stochastic” legend identifies the model we proposed earlier [5] which considers uncertainties in both scheduling and look up durations. The ”Perfect” legend shows the same ”Stochastic” model, but having 100% accurate predictions for the scheduling duration, whilst uncertainty in the look up duration remains the same. This illustrates how much improvement can be obtained with better predictions. The ”Expected” legend shows the same model but without considering the stochastic nature of predictions in both the durations [5]. The ”Greedy” legend identifies an approach which does not consider network availability predictions and tries to utilizes all available networks at the time of transfer [5]. In our prediction work, we learned that the actual WiFi availability can be more than the prediction or less than it and also these are equally likely events. Further, we found the average prediction error to be around 20% (section 6.1). Hence, for the ”Stochastic” approach, for the scheduling duration of ”Hybrid” approach, and for the look up duration of the ”Perfect” approach, we consider only three availability scenarios: predicted value + 20%, or 100% which ever is the minimum, the predicted value itself, and the predicted value - 20% or 0% which ever is the maximum. For example, if the prediction is 90%, the low, mid and high scenarios have the availabilities 70%, 90% and 100% respectively. We assume that these high, mid and low scenarios will occur with probabilities of 0.3, 0.4 and 0.3 respectively, where the prediction (the mid scenario) is more likely than the other two scenarios and both the low and high scenarios occur with equal probabilities as stated above. In comparison, 3G network is always available and therefore, the Wi-Fi network availability scenarios become the only scenarios in both scheduling and look up durations. In the stochastic model, we re-evaluate the Wi-Fi network availability of the scheduling duration after passing half of the duration using the following. If the availability in the first half is below the low value or, equal and Wi-Fi networks were not available in 30 seconds immediately prior to it, then the availability of the entire duration is estimated to be low. If that half has more Wi-Fi network availability than the high value or, equal and Wi-Fi networks were available 30 seconds immediately prior to it, it is estimated to be high. Otherwise, the availability of the entire duration is considered to be the same value as in the mid scenario. Further, we consider K = 1.5 in γi = Kβi . All the models were implemented in Matlab using it’s optimization toolbox. We start to download the data of these applications simultaneously at the beginning of each user transit time. The transfers are scheduled immediately for the next 5 minutes using a scheduling model. Then the data is emulated to be transmitted over 3G and Wi-Fi networks, where the actual Wi-Fi network availability is found from the traces. After that 5 minutes we reschedule the remaining data for the next 5 minutes using the same 11 Fig. 12. Total utility gain minus cost for all the applications. model. We repeat this process until transfers of data of the three applications are completed. We calculate and accumulate the utility minus cost for all the three applications separately over the time, and also count the time it takes to finish the transfer of the data for each application. We do this emulation with each of the scheduling models mentioned above. By setting the parameters of the emulation and the utility functions of the three applications as described above, we were able to equate the utility gains of each of the three applications with the greedy model, for all the users on average. This ensures that for the total sum, all the three applications contribute equally with the greedy model, and it may change in the other models depending on their performance. We attempted to set these parameters as close to the reality as possible. However, to determine the sensitivity, we also change each parameter relative to its original value. 7.4 Results 7.4.1 With a typical data transfer session With the above parameter set, the utility minus cost, the net utility, gained for the three applications in the emulation were added together to get the total utility. It is shown in the Figure 12, where each value is normalized by the corresponding total utility with the ”Perfect” approach. The overall average of all the users for the ”Stochastic” model is 0.86, for the ”Hybrid”, it is 0.81, for the ”Expected” 0.79 and for the ”Greedy” 0.60. We can clearly see that the proposed ”Hybrid” model out performs the ”Greedy” approach by up to 21%, and the ”Expected” by up to 2% on average. Further, it is only 5% below the ”Stochastic” approach eventhough it requires at most twice the computations of the ”Expected”, much less than that of ”Stochastic” [5]. This illustrates the applicability of the ”Hybrid” model proposed in this paper under imperfect predictions and with limited amount of resources (processing). In addition to the total utility, we consider the application completion times as well for evaluating different scheduling models. We show how each application’s MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES Fig. 13. Completion times of application 1. Fig. 14. Completion times of application 2. Fig. 15. Completion times of application 3. data transfer was completed with respect to its soft deadline in Figures 13, 14 and 15. It can be seen that the key for maximizing utility and minimizing cost is deferring and rescheduling the applications which can wait. Due to this, with the ”Stochastic” and ”Hybrid” approaches, the applications’ data transfers are completed well after the completion times resulted with the ”Greedy” approach, as the latter uses any available network resources to finish as soon as possible. However, the former two finished transfers before the soft deadlines in all the cases and gained higher net utility. On the contrary, the ”Expected” approach did not finish data transfers at all in some cases (user 10 and 12 11 in Figure 15). The reason is that in those cases, a Wi-Fi availability of around 10% was predicted continuously for scheduling durations towards the end of the time span considered, even though Wi-Fi was actually not available. The ”Expected” approach kept trusting the prediction and scheduled only to use the Wi-Fi network whereas the ”Stochastic” and ”Hybrid” approaches reevaluated the availability at the mid point of the scheduling duration. If the actual was found to be different to the prediction, they executed the corresponding recourse decision, i.e. using 3G in this case. This further shows that the ”Stochastic” and ”Hybrid” approaches utilize current resources optimally than ”Expected”, and hence spare resources further ahead of time. Therefore, they both appear not only better than the ”Expected”, but also are necessary for avoiding unnecessary delays. This clearly shows that the proposed ”Hybrid” approach gains better utility than both ”Expected” and ”Greedy” approaches while avoiding unnecessary delays associated with ”Expected”, and also closer in performance to the ”Stochastic” while only incurring at most twice the computations of the ”Expected”, much less than that of ”Stochastic”. Moreover, it is interesting to find whether the same results hold if we change different parameters of the emulation. Therefore, we changed the parameters of ”cost”, ”Wi-Fi and 3G data rates”, ”utility functions”, ”application file sizes” etc one at a time and re-ran the emulation. The results are presented in the following subsections. 7.4.2 With Different Costs In the above emulation setup, we have used 3G cost to be of 20 units and Wi-Fi to be of 5, one fourth of that. We re-ran the emulation with the same set of parameters but with different Wi-Fi costs, set to 0 and 10, representing zero and two fourth. The results are given in Figure 16. The values are normalized with respect to the total utility gain with the ”Perfect” approach in the one fourth cost case, which is shown in the middle of the figure. The upper and lower sections carry low (zero) and high (two fourth) Wi-Fi cost cases respectively. As can be seen from the figure, when the relative cost decreases, the difference in absolute terms between ”Greedy” and ”Hybrid” (”Stochastic”) approaches widens, 12%, 21% and 29% (16%, 26% and 35%) respectively in high, mid and low cost cases. With respect to the utility gain of each case’s ”Perfect” approach, they all are around 21% (differences between ”Greedy” and ”Stochastic” are around 26%). Although the ”Hybrid” and ”Expected” perform equally well in terms of utility gains, ”Expected” causes unnecessaruy delays in transfer completions as shown in the section 7.4.1. Further, the ”Hybrid” approach results in utility gains closer to that of ”Stochastic” in all the cost cases. This shows that ”Hybrid” performs better than ”Greedy” and ”Expected” approaches and also closer to the performance of ”Stochastic” under different cost scenarios. MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES 13 Fig. 18. Total utility with different utility functions. Fig. 16. Total utility with different costs. Fig. 17. Total utility with different rates. 7.4.3 With Different Data Rates Next, we use different Wi-Fi data rates in the emulation. Earlier we took it to be 1Mbps, two times the 3G rate of 512 Kbps. We ran the emulation with rates 0.5 and 1.5 Mbps for the Wi-Fi, resembling one time and three times of 3G interface’s rate and the results are shown in the Figure 17. Every value was normalized with respect to the value of the ”Perfect” approach in the mid rate case. The upper and lower portions of the graph show high and low rate cases, while the mid showing the results with the regular setup. The differences between ”Greedy” and ”Hybrid” (”Stochastic”) approaches in low, mid and high rate cases are 11%, 21% and 23% (14%, 26% and 28%) respectively, and with respect to the utility gain of each case’s ”Perfect” approach, they are 16%, 21% and 20% (22%, 26% and 24%). In the low rate case, the difference is low understandably as the amount which can be sent with low cost becomes less. But in the high rate case, it is not as high as we expect which is counter intuitive. The reason behind is that the third application which comparably gains much of the utility with the ”Hybrid” and ”Stochastic” approaches use much from the WiFi interface even in the mid rate case, and if the rate becomes high, it only helps to finish the transfers more quickly. For example the ”Hybrid” approach has an average completion time of 73% (with respect to the soft deadline) compared to 78% in the mid rate case. If the file sizes have been higher, we would have observed a higher difference in the high rate case. Another reason is, when the rate is high, the greedy approach too gains good utility (66% compared to 60% in the mid rate case). Even with different rates, still we see that the ”Hybrid” approach provides a computationally inexpensive alternative to ”Stochastic”. 7.4.4 With Different Utility Functions (User Preferences) The parameters we change next are the utility functions. We shift all the utility functions by 10 units up and down with respect to their initial values, which are identified as ”high” and ”low” cases. The results are given in the Figure 18 where high, mid and low cases are depicted in the upper, middle and lower parts of the figure respectively. Similarly, all of the values were normalized by the mid case’s utility gain with the ”Perfect” approach. We can see that the total utility has become even negative, which happens because in the low utility case, the utilities of applications are not so important compared to the costs of the interfaces, nevertheless we transfer them. The average differences between ”Hybrid” and ”Greedy” approaches are 19%, 21% and 18% in low, mid and high utility cases respectively and the differences between ”Stochastic” and Greedy” are 25%, 26% and 23% respectively. In the low and mid cases, they both seem to be in the same order of magnitude. In the high case, it can be observed that the utility gain has gone a little bit down where the reason would be that the user treats the utilities of all of the applications to be comparably higher than the costs and therefore, even the ”Greedy” approach produces good utility. That is why the difference between ”Greedy” and ”Perfect” in high MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES 14 Fig. 20. Completion time of the application 3 with higher file sizes. Fig. 19. Total utility with different file sizes. case is only 34%, compared to the 40% in the mid case. This point was further supported by the higher overall utility gain with the greedy approach when we ran the emulation with utility functions shifted further up by 10 units. Overall, we still see the ”Hybrid” approach acting as a practical alternative to the ”Stochastic” approach, as ”Expected” sometimes results in more delays eventhough it too produces comparably good utility gains. 7.4.5 With Different File Sizes To demonstrate the effects of milder and heavier network usage scenarios, here we change the file sizes of each application. In the standard (mid) case, they are 5, 30 and 100 MB for the first, second and third applications respectively. We consider two cases; the low case has 2.5, 15 and 50 MB sizes (half of the sizes in the mid case) whereas high case has 7.5, 45 and 150 MB (three halves of the mid case’s sizes). The results are given in the Figure 19 where all the figures were normalized by the mid case’s total utility gain with ”Perfect” approach. The upper, middle and lower parts of the graph show high, mid and low cases of file sizes. The differences between ”Stochastic” and ”Greedy” approaches for them are 14%, 26% and 22% respectively and with respect to the utility gain of each case’s ”Perfect” approach, they are 11%, 26% and 36%. The same diferences between ”Hybrid” and ”Greedy” are 12%, 21% and 18% and with respect to the utility gain of each case’s ”Perfect” approach, they are 9%, 21% and 30%. The reduction of this difference with both the approaches in the lower case in absolute terms is self explanatory, as when the file sizes decrease, so does the utility gains. But still, with respect to its ”Perfect” approach, the difference between ”Hybrid” and ”Greedy” is 31% (which is close to 36% resulting with ”Stochastic”) showing the effectiveness of the ”Hybrid” (and ”Stochastic”) with low file sizes, as it allows more room for optimizations. On the contrary, in the high case, the lesser difference as well as greedy approach performing better than even stochastic approach in some cases according to the figure is counter intuitive. The clear reason for that is, when the file sizes increase, for some users for whom the network availability is lesser, whatever available interfaces have to be used to transfer them within the deadline, irrespective of the interface costs as there is no much room for an optimization. A greedy approach does exactly the same thing. We can further clarify this point by Figure 20, which shows completion times of the third application (the most vulnerable one due to its size) with these three different approaches (values are normalized with respect to the corresponding soft deadline). We can see a general coincidence that when the completion times with the ”Greedy” approach are higher, the total utility gain with ”Stochastic” and ”Hybrid” approaches become lesser, for example in the case of users 3, 5, 6, 10 and 11. For the user 9, it is higher even though the completion time is still high, the apparent reason is that the predictions in the initial scheduling durations for that user have been much better; hence we get an overall utility with the ”Stochastic” and ”Hybrid” approaches closer to that of the perfect approach. And for the same user, ”Expected” results with higher total utility even than ”Perfect”, at the expense of violating even the hard deadline! Therefore, we can conclude that ”Hybrid” performs closer to ”Stochastic” and better than both ”Expected” and ”Greedy” in terms of utility gains and application completion times even with different file sizes. These results clearly show that the enhanced ”Hybrid” model provides a better alternative to the previously proposed ”Stochastic” model for probabilistically scheduling data transfers with minimal resources. The results were obtained with a prediction error of 20%, which was derived by running the predictors we proposed earlier on real user data. However, it is important to do a sensitivity analysis for each scheduling method against different prediction errors to identify each methods strengths and weaknecesses. We leave this analysis MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES for future work. 8 C ONCLUSION A multi-interfaced mobile device in a heterogeneous network environment can connect to different access networks with different capabilities at different times. With the help of the network availability (and available bandwidth) prediction and abundant onboard memory, delay tolerant data transfers can be scheduled to be transferred using high bandwidth Hot-Spots for maximizing user utility. This reduces cost to the user, saves power, provides the highest possible quality for the applications that are being used and also enables higher utilization of existing infrastructure of network providers. The paper proposed a mobile device based architecture that facilitates the above. As part of the architecture, firstly we defined and presented an API which will hide the complexity of the system and provide application programmers easy access to the EMUNE functionalities. Secondly, we presented a unique method of predicting network availability using a generic Dynamic Bayesian Network based model and showed that the associated computational complexity is considerably less than that of the competing, modified Hidden Markov Model. Thirdly, we described a scheduling unit which can take the output from the prediction module, user preferences and application requirements to find an optimal schedule for transferring data of all the application requests. We further showed with real user data that the proposed computationally inexpensive hybrid stochastic scheduling model out-performs other non stochastic variants and greedy models and also closer in performance to the previously proposed stochastic model for different combinations of interface costs, network bandwidths, application utility functions and file sizes. Finally, we described the transport service which executes the derived schedule accordingly by controlling Freeze TCP and Monami protocols together. ACKNOWLEDGMENTS This work has been performed in the context of NICTA’s CAMP project, which is funded by Ericsson. We would like to thank NICTA staff and other volunteers who participated in our experiments. R EFERENCES [1] A. Rahmati and L. Zhong, ”Context-for-Wireless: Context-Sensitive Energy-Efficient Wireless Data Transfer”, in Proc. ACM/USENIX MobiSys, June, 2007. [2] M. Zaharia and S. Keshav, ”Fast and Optimal Scheduling Over Multiple Network Interfaces”,University of Waterloo Technical Report CS-2007-36, October 2007. [3] Upendra Rathnayake and Max Ott, ”Predicting Network Availability Using User Context”, in Proceedings of ACM MobiQuitous ’08, Dublin, Ireland, July, 2008. [4] Upendra Rathnayake, Max Ott and Aruna Seneviratne, ”A DBN Approach for Network Availability Prediction”, in Proceedings of MSWiM’09, Canary Islands, Spain, Oct 2009. 15 [5] Upendra Rathnayake, Mohsin Iftikhar, Max Ott and Aruna Seneviratne, ”Realistic Data Transfer Scheduling with Uncertainty”, NICTA Technical Report Aug, 2009. [6] Y. Vanrompay, P. Rigole, Y. Berbers ”Predicting network connectivity for context-aware pervasive systems with localized network availability”, in WoSSIoT’07, a workshop of EuroSys, March, 2007. [7] C. Doss, R., A. Jennings, N. Shenoy, ”A Review of Current work on Mobility Prediction in Wireless Networks”, ACM AMOC,Thailand, 2004. [8] L. Song, D. Kotz, R. Jain and X. He, ”Evaluating location predictors with extensive Wi-Fi mobility data”, In Proceedings of the 23rd Annual Conference INFOCOM, pages 1414-1424, March, 2004. [9] M. Kim and D. Kotz and S. Kim, ”Extracting a mobility model from real user traces”, In Proceedings of the 25th Annual Conference of INFOCOM, Barcelona, Spain, April, 2006. [10] E. Exposito, R. Malaney, X. Wei, D. Nghia, ”Using the XQoS Platform for designing and developing the QoS-Seeker System”, In the proceeding of the 3rd International IEEE Conference on Industrial Informatics (INDIN), Perth, Australia, 2005. [11] N. Samaan and A. Karmouch, ”A Mobility Prediction Architecture Based on Contextual Knowledge and Spatial Conceptual Maps”, IEEE Transaction on Mobile Computing 4(6): 537-551 Nov/Dec 2005. [12] F. Erbas, J. Steuer, D.Eggeiseker, K. Kyamakya and K. Jobmann, ”A Regular Path Recognition Method and Prediction of User Movements in Wireless Networks”, Proceedings of Vehicular Technology Conference, VTC, October 2001. [13] Z. R. Zaidi and B. L. Mark, ”Mobility Estimation for Wireless Networks Based on an Autoregressive Model,” in Proc. IEEE Globecom 2004, Dallas, Texas, December 2004. [14] Michael I. Jordan, Christopher M. Bishop. An Introduction to Graphical Models (Book Draft) [15] P. Bahl, A.Adya, J. Padhye and A. Wolman, ”Reconsidering Wireless Systems with Multiple Radios”, ACM SigComm CCR, vol.34, issue, 5, 10/04 [16] T. Pering, Y. Agarwal, R. Gupta and R. Want, ”CoolSpots: Reducing the Power Consumption of Wireless Mobile Devices with Multiple Radio Interfaces”, in proc. of MobiSys, June 06, Sweden [17] E. Shih, P. Bahl, M. Sinclair, ”Wake on Wireless: An Event Driven Energy Saving Strategy for Battery Operated Devices”, in proc. of ACM MobiCom 2006. [18] H. Wang, R. Katz and J. Giese, ”Policy-Enabled Handoffs across heterogeneous wireless networks”, in Mobile Computing Systems and Applications, 2004 [19] F. Zhu and J. McNair, ”Optimizations for Vertical Handoff Decision Algorithms”, Proc. WCNC 2004 [20] O. Ormond, J. Murphy and G. Muntean, ”Utility-based Intelligent Network Selection in Beyond 3G systems”, in proc. of IEEE ICC, June 2006. [21] Sun J, Riekki J, Sauvola J and Jurmu M, ”Towards connectivity management adaptability: context awareness in policy representation and end-to-end evaluation algorithm”, in proc. of 3rd MUM, college park, MD, 85-92, 2004 [22] K. Toyama, R. N. Murty, C.A. Thekkath and R. Chandra, ”Costaware networking over heterogeneous data channels”, US patent 20070171915, http://www.freepatentsonline.com/7071915.html [23] Bonnin J., Z. B. Hamouda, I. Lassoued, A. Belghith, ”Middleware for multi-interfaces management through profiles handling”, in proc. of Mobileware 2008, Innsbruck, Austria, 2008 [24] M. K. Sowmia Devia and P. Agarwal, ”Dynamic interface selection in portable multi-interface terminals”, in proc. of IEEE Portable, Orlando, FL, March 25-29, 2007 [25] A. A. Koutsordoi, E. F. Adamopoulou, K. P. Demestichas, M. E. Theologou, ”Terminal Management and Intelligent Access Selection in Heterogeneous Environments”, MONET 11 (6): 861-871, 2006 [26] ”Method and system for selecting an access network in a heterogeneous network environment”, US Patent 7315750, http://www.patentstorm.us/patents/7315750/fulltext.ht ml [27] Schorr, A. Kassler, A. Petrovic G., ”Adaptive media streaming in heterogeneous wireless networks”, in proc. of IEEE Workshop on Multimedia Signal Processing, Sep. 2004 [28] T. Goff, J. Moronski, D. S. Phatak, and V. Gupta, ”Freeze-tcp: A true end-to-end tcp enhancement mechanism for mobile environments”, in IEEE INFOCOM, 2000. MOBILE NETWORKS AND APPLICATIONS (MONET), SPECIAL ISSUE ON ADVANCES IN MOBILE APPLICATIONS AND PROVISIONED SERVICES [29] Wanghong Yuan and Klara Nahrstedt, ”Energy-Efficient Soft RealTime CPU Scheduling for Mobile Multimedia Systems”, in Proc. of 19th ACM Symposium on Operating Systems Principles (SOSP’03), Bolton Landing, NY, October, 2003. [30] Changjiu Xian, YungHsiang Lu and Zhiyuan Li, ”Energy Aware Scheduling for RealTime Multiprocessor Systems with Uncertain Task Execution Time”, In proceedings of DAC, Califf, USA 2007 [31] M. Bayati, M. Squillante and M. Sharma, ”Optimal scheduling in multi-server queuing network”, ACM SIGMETRICS/Performance, 2006 [32] Jay Sethuraman and Mark Squillante, ”Optimal stochastic scheduling in multiclass parallel queues”, SIGMETRICS 1999 [33] M. Stenm and R. H. Katz, ”Vertical handoffs in wireless overlay networks”, ACM Mobile Networks and Applications, 3(4): 335-350, Dec. 1998 [34] Julia L. Higle, ”Stochastic Programming: Optimization When Uncertainty Matters”, Tutorials in Operational Research - INFORMS, 2005 [35] Shapiro A. and Philpott A., ”A Tutorial on Stochastic Programming”, http://stoprog.org/ [36] ”Analysis of Multihoming in Mobile IPv6”, http://www.nautilus6.org/ietf/monami6/ietf63/monami6-ietf63bof.html [37] A. Baig, L. Libman, M. Hassan, ”Performance Enhancement of On-Board Communication Networks Using Outage Prediction”, IEEE Journal on Selected Areas in Communications, vol 24, issue 9, pp. 1692 - 1701, 2006. [38] H.Y. Hsieh, K.H. Kim, Y. Zhu, and R. Sivakumar., ”A receivercentric transport protocol for mobile hosts with heterogeneous wireless interfaces”, In Proc. of ACM MOBICOM’03, Sept. 2003. [39] S. Herborn, H. Petander, and M. Ott. ”Predictive context aware mobility handling”, In International conference on Telecommunications, 2008. [40] T. Henderson, J. Crowcroft, and S. Bhatti, ”Congestion Pricing: Paying Your Way in Communication Networks”, In IEEE Internet Computing Journal, Volume 5, Pages 85-89, 2001. [41] Nathanael Thompson, Guanghui He, and Haiyun Luo. ”Flow scheduling for end-host multihoming”’, In Proceedings IEEE INFOCOM, April 2006 16