BS-assisted Task Offloading for D2D Networks with Presence of User Mobility
aa r X i v : . [ c s . D C ] J a n BS-assisted Task Offloading for D2D Networkswith Presence of User Mobility
Ghafour Ahani and Di Yuan
Department of Information TechnologyUppsala University, SwedenEmails: { ghafour.ahani, di.yuan } @it.uu.se Abstract —Task offloading is a key component in mobile edgecomputing. Offloading a task to a remote server takes commu-nication and networking resources. An alternative is device-to-device (D2D) offloading, where a task of a device is offloaded tosome device having computational resource available. The latterrequires that the devices are within the range of each other,first for task collection, and later for result gathering. Hence, inmobility scenarios, the performance of D2D offloading will sufferif the contact rates between the devices are low. We enhance thesetup to base station (BS) assisted D2D offloading, namely, aBS can act as a relay for task distribution or result collection.However, this would imply additional consumption of wirelessresource. The associated cost and the improvement in completiontime of task offloading compose a fundamental trade-off. Forthe resulting optimization problem, we mathematically prove thecomplexity, and propose an algorithm using Lagrangian duality.The simulation results demonstrate not only that the algorithmhas close-to-optimal performance, but also provide structuralinsights of the optimal trade-off.
Index Terms —Task offloading, D2D communications, Mobility,Base station, Relay.
I. I
NTRODUCTION
Task offloading is a key component in mobile edge com-puting. Typically, tasks are offloaded to remote servers [1]–[3] or to computing resources near to users, e.g., base stations(BSs) [4], [5]. However, these incur significant overhead incommunications and networking [6]. An attractive alternativeis to offload tasks to nearby users [7], [8]. For example, a userthat currently runs on low energy offload send its task to anidle user with energy available for computation.In mobility scenarios, the data of a task can be delivered viaDevice-to-Device (D2D) communications as the users moveand meet each other [9], [10]. However, this is not a system-wide optimal strategy especially when some users have lowcontact rates with others. In such a situation, the system can beenhanced by letting the BSs act as relays for task distributionand result collection. In fact, this approach enables to utilizebetter the energy capacity of users. On the other hand, alltasks should not be relayed via the BSs as this requires alarge number of communications with the BSs. Thus, whichdevice to offload and how long one should wait before the BSis called for are both key aspects in optimal task offloading.Looking into the literature, there are relative few works[7], [8], [11], [12] that considered task offloading in mobilityscenarios. The works in [7], [8] assumed that the connectionbetween two users is stable during the entire offloading pro-cess. The authors of [11] considered offloading one task tonearby users with maximization of success ratio of obtaining the result. However, none of these studies utilized BSs asrelays. The investigation in [12] considered a hybrid methodwhere a task can be offloaded to a remote server, a BS, or anearby mobile user. BSs are utilized as relays for deliveringthe results, however the trade-off between completion time andthe cost of using BS is not accounted for.In this paper, we study task offloading where users canoffload their tasks to either remote servers or peer devices,possibly using the BSs, in a mobility scenario. For each task,we define a cost related to the completion time and processing.For offloading, a user can wait longer time to increases the op-portunity of contact and then collecting the result via D2D, butthe completion time could be quite long. The completion timecan be made shorter if a BS assists with the offloading, but thiswill involve additional communications costs. Therefore, weoptimize the time before the BS is involved in task offloading.In addition, each task has a completion time deadline beforewhich the result of the task must be obtained. Our aim is tominimize the total cost of the system. Moreover, the availableenergy of the users for processing is taken into consideration.The contributions of this study are as follows. We formulatethe task offloading problem and show how it can be effectivelylinearized. We also prove mathematically the complexity ofthe problem. Next, an algorithm based on Lagrangian dualityis provided for problem solving. Our algorithm is comparedto other algorithms. Simulation results demonstrate not onlythat the algorithm has close-to-optimal performance, but alsoprovide structural insights of the optimal trade-off.II. S
YSTEM M ODEL AND P ROBLEM F ORMULATION
A. System Model
In our system scenario, a set of users need to offload theirtasks. We call them requesters and the set is denoted by R = { , , . . . , R } . The second set of users, referred to as helpers ,have energy available for task processing. The index set ofhelpers is denoted by H = { , , . . . , H } . We assume that allusers are within the coverage of network such that BSs can beused as relays for task distribution or result collection. Merelyto simplify the presentation, we assume there is one BS. Thesystem scenario is shown in Figure 1.For the sake of presentation, we assume each requesterhas only one task. However, our formulations and algorithmscan be generalized easily to a more general scenario whereeach requester has multiple tasks. Hereafter we use task r and requester r interchangeably. The required amount of elperRequester s e nd t o s e r v e r s e n d t o h e l p e r v i a B S Server
Figure 1. System scenario of D2D task offloading with possible BS assistanceand presence of user mobility. energy for processing task r and one communication withthe BS are denoted by e pr and e cr respectively. Each helper h , h ∈ H , can provide at most E h amount of energy to processtasks. Processing task r by helpers and the remote serverincur costs δ prh and δ prN respectively. These costs typicallyrelate to the amount of energy required for computation.Each communication with the BS and remote server incursa cost, denoted by δ crB and δ crN respectively. The cost of D2Dcommunications is negligible.The inter-contact model is widely used to characterize themobility pattern of mobile users [13], [14]. Hereafter, the termcontact is used to refer to the event that two users comeinto the communication range of each other. The inter-contacttime, that is the time between two consecutive time point ofmeeting each other, for any two users follows an exponentialdistribution [15]. Hence, the number of contacts between anytwo mobile users follows Poisson distribution [16]. Moreover,it is assumed that the contact of user pairs are independent.We consider a time slotted system consisting of T time slots, T = { , , . . . , T } , each with duration θ . The deadline of task r is denoted by d r . As mentioned earlier, we optimize thetime before which a requester uses the BS for task distributionand/or result collection. Thus for requester r and helper h there is a timer and its value is denoted by t rh . The tasksare assumed to be delay tolerant, hence the magnitude oftime slot is considerably larger than task processing time.Therefore, we do not account for the processing time ofthe tasks. Moreover as the contact between the helpers andrequesters are stochastic, we consider the expected value ofthe total cost of system. The following five events may occuronce helper h is designated to task r :1) They meet at least twice before t rh , then the task iscollected and result is obtained, both via D2D.2) They meet exactly once before t rh , then the task iscollected, and they meet at least once again between t rh and d r , then the result is obtained. This case alsouses D2D communications twice.3) They do not meet before t rh , but they meet at leastonce between t rh and d r . Then the BS is involved todeliver the task to the helper (with two communications: The magnitude of a time slot is in a range of hour. requester → BS, and BS → helper) and the result isobtained via D2D communications.4) They meet exactly once before t rh , however, they donot meet after this time point until d r . Then the taskis given to the helper via D2D communications and theresult is obtained via the BS (with two communications:helper → BS, and BS → requester).5) They do not meet at all within d r . In this case, the taskis sent to the server for processing .There is a cost associated with task completion time definedas the starting time point until the requester obtains the task’sresult. We introduce a cost function f ( · ) for which f ( t ) is thecost for a completion time of t slots. For the events above, wewill derive the total expected task completion cost includingthe task completion time and the communication if applicable. B. Cost Model
Denote by binary variable x rh representing if requester r offloads its task to helper h . The corresponding variable fortask offloading to the server is denoted by x rN . Denote by P ( M [ k,l ] rh = n ) the probability that requester r meets helper h exactly n times during time slots k to l . Note that when k = l ,it is the probability of having n contacts within time slot k .For special case k < l , there are two cases, i.e., n > and n = 0 . Intuitively, their corresponding probabilities are definedto zero and one. The probability P ( M [ k,l ] rh ≥ n ) is defined ina similar way. Here, M [ k,l ] rh follows a Poisson distribution withmean λ rh ( l − k +1) θ , where λ rh represents the average numberof contacts per unit time. Denote by Π ( i ) rh , i ∈ { , , , , } ,the probability that event i occurs and the expected cost ofevent i , i ∈ { , , , , } , is denoted by ∆ ( i ) rh .The cost of assigning the task r to helper h originates fromwaiting time before task completion, communications with BS(if applicable), and task processing. The associated expectedcost of each event is derived and shown in Table I. For events and , the first and second terms are the expected costsrelated to task completion time and processing respectively.For events and , the first, second, and third terms are theexpected costs related to task completion time, processing,and communication with BS. For event , we have costs ofprocessing and communications with server. Thus, the totalexpected cost for using helper h for task r is: ∆ rh ( t rh ) = X i =1 ∆ ( i ) rh ( t rh ) (1)Hence, the overall cost for all helpers and requesters is:Cost ( x , t ) = X r ∈R X h ∈H ∆ rh ( t rh ) x rh + X r ∈R (2 δ crN + δ prN ) x rN (2)where x and t are two matrices of dimensions R × ( H + 1) and R × H , respectively, representing the offloading and timervariables. Note that the cost function is highly nonlinear, butwe prove in Section IV that this function can be linearizedand the optimal value of timers t rh , r ∈ R , h ∈ H , can bepreprocessed. In this case, the BS also can be used for both the task distribution andresult collection, but we do not account for this solution because it involvesfour communications with the BS.able IE
XPECTED COSTS AND PROBABILITIES OF EVENTS .Event Expected cost Probability1 ∆ (1) rh ( t rh ) = t rh X k =0 f ( k ) (cid:16) P ( M [1 ,k ] rh ≥ − P ( M [1 ,k − rh ≥ (cid:17) + Π (1) rh ( t rh ) δ prh Π (1) rh ( t rh ) = P ( M [1 ,t rh ] rh ≥ ∆ (2) rh ( t rh ) = d r X k = t rh +1 f ( k ) P ( M [1 ,t rh ] rh = 1) (cid:16) P ( M [ t rh +1 ,k ] rh ≥ − P ( M [ t rh +1 ,k − rh ≥ (cid:17) + Π (2) rh ( t rh ) δ prh Π (2) rh ( t rh ) = P ( M [1 ,t rh ] rh = 1) P ( M [ t rh +1 ,d r ] rh ≥ ∆ (3) rh ( t rh ) = d r X k = t rh +1 f ( k ) P ( M [1 ,t rh ] rh = 0) (cid:16) P ( M [ t rh +1 ,k ] rh ≥ − P ( M [ t rh +1 ,k − rh ≥ (cid:17) + Π (3) rh ( t rh ) (cid:16) δ prh + 2 δ crB (cid:17) Π (3) rh ( t rh ) = P ( M [1 ,t rh ] rh = 0) P ( M [ t rh +1 ,d r ] rh ≥ ∆ (4) rh ( t rh ) = Π (4) rh ( t rh ) (cid:16) f ( t rh ) + δ prh + 2 δ crB (cid:17) Π (4) rh ( t rh ) = P ( M [1 ,t rh ] rh = 1) P ( M [ t rh +1 ,d r ] rh = 0) ∆ (5) rh ( t rh ) = Π (5) rh ( t rh ) (cid:16) δ prN + 2 δ crN (cid:17) Π (5) rh ( t rh ) = 1 − P i =1 Π ( i ) rh ( t rh ) C. Energy Consumption on Helpers
The energy consumed on a helper consists of those for pro-cessing and communications, whereas that for D2D communi-cations is negligible in comparison. Therefore, we consider theexpected consumed energy. Hence, for requester r we have: e r =Π (1) rh ( t rh ) e pr + Π (2) rh ( t rh ) e pr +Π (3) rh ( t rh )( e pr + e cr ) + Π (4) rh ( t rh )( e pr + e cr ) (3) D. Problem Formulation
The problem is formulated as follows: min x ∈{ , } R × ( H +1) , t ∈{ , } R × H Cost ( x , t ) (4a)s.t . X h ∈H x rh + x rN = 1 , r ∈ R (4b) X r ∈R e r x rh ≤ E h , h ∈ H (4c)Constraints (4b) indicate that a requester must offload itstask to either a helper or to the server. Constraints (4c) respectthe available energy of helpers.III. C OMPLEXITY A NALYSIS
Theorem 1.
The task offloading problem is
N P -hard.Proof.
We adopt a polynomial-time reduction from the Knap-sack problem of N items having weights { e , e , . . . , e N } ,values { g , g , . . . , g N } , and capacity E . Our reduction is asfollows. We have one helper, i.e., H = { } , with total availableenergy E . There are N requesters, i.e., R = { , , . . . , N } .The expected amount of energy for processing task r is e r .We set λ rh = ln( ǫ ) for all requesters and helpers where ǫ is a small positive number. Therefore, the requesters andhelpers meet at least once with probability − ǫ . Also, weuse f ( t ) = 0 and set the same deadlines for all requesters,i.e., d r = d r ′ , r, r ′ ∈ R . By construction the optimal timervalue is d r for all requesters. The number of time slots is setto the deadline of tasks, i.e., T = d r . The costs for processingtask r by the helper and the server is set to δ prh = 0 and δ prN = 0 . The cost of communications with BS and server is set to δ crB = 0 and δ crN = g r . This setting results in theoverall completing cost for task r by the helper and the serveras and g r respectively, i.e., ∆ rh = 0 and δ crN + δ prN = g r .Consequently, if task r is offloaded to the helper, its gain is δ crN + δ prN − ∆ rh = g r . By construction, the optimum toour problem solves the Knapsack problem instance. As theKnapsack problem is N P -hard, the conclusion follows.IV. A
LGORITHM D ESIGN
The cost in equation (2) has a rather complicated structurebecause of the nonlinearity. However, in the following weprovide a structure insight stating that for each pair task r and candidate helper h , the optimal value of t rh can bepreprocessed. This enables us to reformulate the cost functionas a linear function without loss of optimality. Lemma 2.
For any pair r and h , the optimal value of timer t rh can be obtained with linear complexity.Proof. For each possible value of t rh from to d r , the value of ∆ rh ( t rh ) can be computed in linear time, because ∆ rh ( t rh ) is the sum of costs of the five possible events. The cost ofeach of them involves calculating the probabilities and cost ofcompletion time. The probabilities can be obtained in O (1) viaformula λ k e − λ k ! and the completion time cost can be obtainedin O ( T ) as there is maximum T time slots. Thus the overallcomplexity is O ( T ) . Furthermore, the value of ∆ rh ( t rh ) isindependent from the other pairs. These together enable us toobtain the optimal value of t rh by taking min operator overall possible values, i.e., ∆ ∗ rh = min { ∆ rh ( t rh ) } t rh ∈{ , ,...,d r } .By Lemma 2, the objective function is linearized below. min x ∈{ , } R × ( H +1) X r ∈R X h ∈H ∆ ∗ rh x rh + X r ∈R δ rN x rN (5)s.t . (4b), (4c) A. Lagrangian Relaxation
We apply Lagrangian relaxation to (4c). Denote by u h , h ∈ H , the corresponding Lagrange multipliers. We have thefollowing Lagrangian relaxation: ( u ) = min x ∈{ , } R × ( H +1) X r ∈R X h ∈H ∆ ∗ rh x rh + X r ∈R (2 δ crN + δ prN ) x rN + X h ∈H u h ( X r ∈R e r x rh − E h ) s.t . (4b) (6)The above problem is polynomial-time solvable as the onlyconstraint (4b) states that the task has to be assigned to eithera helper or the server. Therefore, the optimal is to pick thehelper or the server that minimizes the expected cost. B. Subgradient Optimization
The Lagrangian dual problem is v ∗ = max u ≥ L ( u ) , where u = [ u , . . . , u H ] . A subgradient, d = [ d , . . . , d H ] , to theconcave function L ( u ) can be obtained as: d h = X r ∈R e r ¯ x rh − E h , h ∈ H , (7)where { ¯ x rh , r ∈ R , h ∈ H} is obtained from the optimalsolution to L ( u for the given u . The dual problem can besolved with subgradient optimization, described in Algorithm1. In the algorithm, K is the maximal allowed number ofiterations, v ¯ and ¯ v denote the best known lower and upperbounds on v ∗ . Any feasible solution yields upper bounds.Initially, we use ¯ v = P r ∈R (2 δ crN + δ prN ) . We user thefollowing formula to calculate the step [17]: t ( k ) = max { , η ¯ v − g ( u ( k ) ) k d ( k ) k } with < η < (8) Algorithm 1:
Lagrangian-based Algorithm Choose a starting point u (1) , choose ǫ > and ǫ > , v ¯ ← −∞ , ¯ v ← P r ∈R (2 δ crN + δ prN ) repeat Solve (6), yielding L ( u ( k ) ) and ¯ x if L ( u ( k ) ) > v ¯ then v ¯ ← L ( u ( k ) ) ; Make an attempt to modify ¯ x to a feasible solution,and possibly update ¯ v Calculate search direction d ( k ) and step length t ( k ) using formula (7) and (8) respectively Update u ( k +1) = u ( k ) + t ( k ) d ( k ) k ← k + 1 until ( k > K or k d ( k ) k ≤ ǫ or k u ( k ) − u ( k − k ≤ ǫ ) We carry out Step 4 as follows. For each helper having itsenergy constraint violated, we reassign some of the allocatedtasks to other helpers in ascending order of cost.V. P
ERFORMANCE E VALUATION
For performance comparison, we consider two intuitive taskoffloading strategies based on the expected cost and contactrates respectively. For these two strategies the tasks are allo-cated to helpers in descending order of expected completioncost and contact rate, respectively. After allocating a task, theresidual energy of helpers will be updated. This process will be repeated until each task is assigned to either a helper orthe server.The energy available of each helper is generated randomlywithin interval [1000 , Joule (J). The experiments in [18]have shown that λ rh follows Gamma distribution. Here, we useGamma distribution Γ(0 . , . The energy required to processa task depends on two factors: the size of data and type ofworkload [19], and the number of CPU cycles for processingone bit varies by workload type [19], [20]. We generate thetasks with data size within interval [0 . , MB and assignthem workload such that CPU cycles per bit is in the range [2000 , . We consider × J and . × − Jfor energy consumption of one CPU cycle and one bit datatransmission respectively [20]. The processing cost of task r on helper h and the remote server are set to δ prh = e pr and δ prN = 10 e pr . The other parameters are set as follows: δ crB = 100 e cr , δ crN = 1000 e cr , f ( t ) = αt where α is aweighting factor, T = 24 , and θ = 1 hour. The deadlinesof tasks are generated randomly within range [1 , timeslots. A task with more required energy has a longer deadline.All simulation results are obtained by averaging over instances.Figures 2 and 3 show the impact of the number of helpers R and weighting factor α on the expected total cost. In Figure2, as expected, the cost decreases with respect to H . For H = 3 , the performance gaps of cost-based and contact-basedstrategies with respect to the Lagrangian-based algorithm are and respectively, and the values grow to and for H = 7 . The reason for the increase is that theavailable energy is limited when H = 3 , thus most of thetasks are offloaded to the server, no matter which strategy oralgorithm is used. But, when the number of helpers increasesto H = 7 , the Lagrangian-based algorithm manages to utilizethe energy of helpers to accommodate more tasks, whereas thetwo other strategies are less optimal in this regard. In addition,the solution from the Lagrangian-based algorithm is about from the lower bound of global optimum. This manifeststhat our algorithm produces close-to-optimal solutions.In Figure 3, we observe that with the increase of α , theoverall expected cost increases. This is expected as a higher α means a growth in a coefficient in the objective function,whereas the solution space remains unchanged. The contact-based strategy performs better than the cost-based one for largevalues of α . The reason is that the expected cost of eachevent basically consists of two main parts: the cost relatedto the expected completion time and the cost related to theprocessing and communications. The former depends on theweighting factor α and the contact rates between the requestersand helpers. Thus, larger α gives more emphasis on the contactrates, and consequently the contact-based strategy shows betterperformance when α increases. Furthermore, the Lagrangian-based algorithm consistently and significantly outperforms thecost-based and contact-based task allocation strategies.In Figure 4, the x-axis is the relative timer values withrespect to the deadline, before the BS is used, and the curvesshow the percentages of requesters setting their timers beingat most the values of the x-axis, for various values of α .We can see that when parameter α increases, there are moreequesters using shorter timers. For example for α = 0 . ,about of requesters will use the BS at time point zero,while this percentage for α = 0 . decreases to almostzero. These results provide structural insights of using D2Dcommunications versus the BS as well as the resulting costtrade-off, in relation to the amount of emphasis put on taskcompletion time. H C o s t Lower boundLagrangian-based AlgorithmCost-based StartegyContact-based Startegy
Figure 2. Impact of H on cost when R = 15 , T = 24 , θ = 1 and f ( t ) = 0 . t . C o s t Lower BoundLagrangian-based AlgorithmCost-based StartegyContact-based Strategy
Figure 3. Impact of α on cost when R = 15 , H = 5 , T = 24 , θ = 1 , and f ( t ) = αt . Ratio of timer to deadline C u m u l a ti v e d i s t r i bu ti on o f r e qu e s t e r s =0.1 =0.004=0.0008=0.02 =0.00016 Figure 4. Impact of α on the timers, i.e., the amount of time that a userwaits before the BS is called for assistance, with respect to deadlines when R = 15 , H = 5 , T = 24 , θ = 1 , and f ( t ) = αt . VI.
CONCLUSIONS
We have studied a task offloading problem with presenceof user mobility and possible assistance of BS as relay. For this optimization problem, we have provided structural insight,complexity analysis, and a solution algorithm. Simulationresults manifested that our algorithm has a small gap with theoptimal solutions and outperforms the other two strategies, i.e.,cost-based and contact-based strategies. The future work planis to investigate a more hierarchical task offloading architecturefor mobility scenarios. R
EFERENCES[1] M. V. Barbera, S. Kosta, A. Mei, and J. Stefa, “To offload or not tooffload? the bandwidth and energy costs of mobile cloud computing,” in
Proc. IEEE Conference on Information Communications (INFOCOM) ,2013, pp. 1285–1293.[2] H. T. Dinh, C. Lee, D. Niyato, and P. Wang, “A survey of mobile cloudcomputing: architecture, applications, and approaches,”
IEEE WirelessCommunications and Mobile Computing , vol. 13, no. 18, pp. 1587–1611,2013.[3] W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu, “Edge computing: visionand challenges,”
IEEE Internet of Things Journal , vol. 3, no. 5, pp.637–646, 2016.[4] Y. Mao, C. You, J. Zhang, K. Huang, and K. B. Letaief, “Mo-bile edge computing: survey and research outlook,” arXiv, preprintarXiv:1701.01090 , 2017.[5] S. Wang, X. Zhang, Y. Zhang, L. Wang, J. Yang, and W. Wang, “Asurvey on mobile edge networks: convergence of computing, cachingand communications,”
IEEE Access , vol. 5, pp. 6757–6779, 2017.[6] M. H. Chen, B. Liang, and M. Dong, “Multi-user multi-task offload-ing and resource allocation in mobile cloud systems,” arXiv, preprintarXiv:1803.06577 , 2018.[7] A. Mtibaa, K. A. Harras, and A. Fahim, “Towards computational offload-ing in mobile device clouds,” in
Proc. IEEE International Conferenceon Cloud Computing Technology and Science , 2013, pp. 331–338.[8] A. Mtibaa, K. A. Harras, K. Habak, M. Ammar, and E. W. Zegura,“Towards mobile opportunistic computing,” in
Proc. IEEE InternationalConference on Cloud Computing , 2015, pp. 1111–1114.[9] G. Ahani and D. Yuan, “On optimal proactive and retention-awarecaching with user mobility,” in
Proc. IEEE Vehicular Technology Con-ference , Fall, 2018, pp. 1–5.[10] T. Deng, G. Ahani, P. Fan, and D. Yuan, “Cost-optimal caching for D2Dnetworks with user mobility: modeling, analysis, and computationalapproaches,”
IEEE Transactions on Wireless Communication , vol. 17,no. 5, pp. 3082–3094, 2018.[11] C. Wang, Y. Li, and J. Depeng, “Mobility-assisted opportunistic com-putation offloading,”
IEEE Communications Letters , vol. 18, no. 10, pp.1779–1782, 2014.[12] M. Chen, Y. Hao, M. Qiu, J. Song, D. Wu, and I. Humar, “Mobility-aware caching and computation offloading in 5G ultra-dense cellularnetworks,”
Sensors , vol. 16, no. 7, pp. 1–13, 2016.[13] V. Conan, J. Leguay, and T. Friedman, “Fixed point opportunisticrouting in delay tolerant networks,”
IEEE Journal on Selected Areasin Communications , vol. 26, no. 5, pp. 773–782, 2008.[14] T. Deng, G. Ahani, P. Fan, and D. Yuan, “Cost-optimal caching forD2D networks with presence of user mobility,” in
Proc. IEEE GlobalCommunications Conference (GLOBECOM) , 2017, pp. 1–6.[15] H. Zhu, L. Fu, G. Xue, Y. Zhu, M. Li, and L. Ni, “Recognizingexponential inter-contact time in vanets,” in
Proc. IEEE Conference onInformation Communications (INFOCOM) , 2010, pp. 101–105.[16] P. Sermpezis and T. Spyropoulos, “Modeling and analysis of communi-cation traffic heterogeneity in opportunist networks,”
IEEE Transactionson Mobile Computing , vol. 14, no. 11, pp. 2316–2331, 2015.[17] B. Polyak, “Minimization of unsmooth functionals,”
USSR Computa-tional Mathematics and Mathematical Physics , vol. 9, no. 3, pp. 14–29,1969.[18] A. Passarella and M. Conti, “Analysis of individual pair and aggre-gate intercontact times in heterogeneous opportunistic networks,”
IEEETransactions on Mobile Computing , vol. 12, no. 12, pp. 2843–2495,2013.[19] J. Kwak, Y. Kim, J. Lee, and S. Chong, “Dream: dynamic resourceand task allocation for energy minimization in mobile cloud systems,”
IEEE Journal on Selected Areas in Communications , vol. 23, no. 12,pp. 2510–2523, 2015.[20] A. P. Miettinen and J. K. Nurminen, “Energy efficiency of mobile clientsin cloud computing,” in