Hierarchical Capacity Provisioning for Fog Computing
Abstract
The concept of fog computing is centered around providing computation resources at the edge of network, thereby reducing the latency and improving the quality of service. However, it is still desirable to investigate how and where at the edge of the network the computation capacity should be provisioned. To this end, we propose a hierarchical capacity provisioning scheme. In particular, we consider a twotier network architecture consisting of shallow and deep cloudlets and explore the benefits of hierarchical capacity based on queueing analysis. Moreover, we explore two different network scenarios in which the network delay between the two tiers is negligible as well as the case that the deep cloudlet is located somewhere deeper in the network and thus the delay is significant. More importantly, we model the first network delay scenario with bufferless shallow cloudlets as well as the second scenario with finitesize buffer shallow cloudlets, and formulate an optimization problem for each model. We also use stochastic ordering to solve the optimization problem formulated for the first model and an upper bound based technique is proposed for the second model. The performance of the proposed scheme is evaluated via simulations in which we show the accuracy of the proposed upper bound technique as well as the queue length estimation approach for both randomly generated input and real trace data.
Hierarchical Capacity Provisioning for Fog Computing
[1.5cm]
Abbas Kiani
Nirwan Ansari
Abdallah Khreishah
[2cm]
TRANL2017005
\formatdate662017
[3cm]
Advanced Networking Laboratory
Department of Electrical and Computer Engineering
New Jersy Institute of Technology
[1.5cm]
I Introduction
The paradigm of edge computing has been recently introduced to push the computing resources away from the centralized nodes to the edge of the network. The edge computing concept aims at optimizing the cloud computing networks by reducing the communication bandwidth requirement between the sources of data and the data centers. In fact, edge computing pushes the processing power and intelligence directly to the devices and each device in the network can play its own role in processing the data. While the edge computing architectures are developed in different ways and are designed with different names, the main idea is to reduce the latency and improve the Quality of Service (QoS). For example, the idea of cloudlet as a trusted, resourcerich computer which is available for use by nearby mobile devices was first introduced in [3], and further developed by a research team at Carnegie Mellon University [4, 5, 8]. A cloudlet can be considered as a smallscale cloud data center (known as a data center in a box or mobile microcloud) which supports resourceintensive mobile applications by providing computing resources at the edge of the network [3]. Three years after the introduction of the cloudlet concept, the paradigm of fog computing [1] was introduced by Cisco as a multitiered architecture consisting of the device, fog platform and a data center to support the requirements of Internet of Things (IoTs) [2]. Fog computing (also known as fogging) is basically a decentralized computing infrastructure that extends cloud computing network by distributing the computing as well as storage resources in efficient places (fog nodes) between where the data is created and the cloud [1].
In parallel with the development of both fog computing and the cloudlet concepts, the idea of Mobile Edge Computing (MEC) has been standardized by an Industry Specification Group (ISG) lunched by the European Telecommunications Standards Institute (ETSI) [9]. MEC is recognized as one of the key emerging technologies for 5G networks and aims at providing computing capabilities within the Radio Access Network (RAN) and in proximity of mobile users [9, 46]. Smart mobility, smart cities, and locationbased services are named as the potential IoT applications of MEC [10, 14].
In the past few years, a large and cohesive body of work investigated the major limitations of Mobile Cloud Computing (MCC), e.g., the radio access associated energy consumption of mobile devices [43] and the latency experienced over Wide Area Network (WAN). Based on that, the researchers came up with a variety of policies and algorithms. A cloudlet network planning approach for mobile access networks is introduced in [16] which optimally places the cloudlet facilities among a given set of available sites and then assigns a set of access points to the cloudlets by taking into consideration of the user mobility. Recently, the opportunities and challenges of edge computing in the networking context of IoT is summarized in [29]. The authors in [31] investigate adaptive edge computing solutions for IoT networking which aim at optimizing traffic flows and network resources. The state of the art of edge computing and its applications in IoT is also explored in [30]. A hybrid architecture that harnesses the synergies between edge caching and CRAN is proposed in [44]. Moreover, a three levels cloudlet architecture is designed in [45] in which the authors proposed a two time scale approach for allocating the computing and communication resources to satisfy the users’ QoS.
To shed some light on the idea of this paper, let’s consider distributed CCTV video cameras as a potential application of edge computing. For example, more than 400 CCTV video cameras are distributed over the state of New Jersey and they are generating a huge amount of video data each day. These data have to be processed and stored for different applications such as traffic congestion mitigation strategies. However, sending all of these data to a backend system such as Traffic Management Centers (TMC), which is equipped with computational and storage capabilities, is not practical due to two main reasons: 1) The opportunity to process video data and act on the processed data might be gone after the time it takes to send data all the way to TMC over the backhaul network. 2) Continuously capturing video on the cameras poses a permanent stress on the network paths to the centralized controller. One simple solution to mitigate the congestion on the backhaul network may offer buffering data at the intermediate network nodes for later transmission. However, this solution is not useful because cameras are capturing videos 24/7 and there will never be a future time when the backhaul network is not overwhelmed. Another solution towards this problem can be a distributed edge computing network architecture by leveraging the concept of the cloudlets. In such a distributed network architecture, each camera itself as well as the aggregation nodes in the network such as the network hubs and routers are all the potential sites to install the cloudlets. Therefore, two important questions must be answered about such a distributed edge computing architecture: 1) Should we consider a flat or hierarchical design? 2) What is the size of each cloudlet, i.e., how much capacity should be provisioned at each cloudlet location? To this end, the current study aims to address the aforementioned issue by proposing a hierarchical capacity provisioning scheme. It is worth mentioning that this study is focused on the capacity provisioning as a network planing problem, and we do not take into consideration of the workload allocation problem which is a well studied issue in state of the art papers[47, 48, 49]. In fact, the idea here is to efficiently provision a total capacity budget at the edge while the distribution of the computation workload at different locations is given.
Contributions: We have made two major contributions. 1) We propose a hierarchical capacity provisioning scheme by considering a 2tier edge computing network architecture consisting of shallow and deep cloudlets. 2) We investigate two different network scenarios based on accurate queueing analysis. In particular, we study the case that the network delay between the shallow cloudlets and the deep cloudlet is negligible as well as the case in which the deep cloudlet is located somewhere deeper in the network, and thus the network delay between the shallow cloudlets and the deep cloudlet matters. We also formulate optimization problems for each case and investigate the solution to each problem by using stochastic ordering and optimization algorithms.
The rest of the paper is organized as follows. Section II describes the system model and problem formulation. We propose our hierarchical capacity provisioning scheme and the corresponding optimization problems in Section III. Finally, Sections IV and V present numerical results and conclude the paper, respectively.
Ii System Model and Problem Formulation
We consider a fog computing network consisting of shallow cloudlets as the first tier of a twotier hierarchical fog computing architecture. Accordingly, the second tier of fog computing nodes called the deep cloudlet is connected to all the shallow cloudlets. Therefore, we assume that each shallow cloudlet can cooperatively manage its incoming workload with the deep cloudlet. That is, the peak computing load at a shallow cloudlet can be forwarded to the deep cloudlet. As a practical case, we consider a distributed edge video processing environment shown in Fig. 1. However, the proposed hierarchical capacity provisioning framework in this paper is not limited to only this example and it is applicable to all similar edge computing architectures. As depicted in this example, the shallow cloudlets are colocated with CCTV cameras and the deep cloudlet is installed at an aggregation switch. Moreover, in order to leverage the resourcerich facilities, the deep cloudlet is connected to the cloud via fibers. However, our focus in this paper is on the capacity provisioning at the edge, i.e., the shallow and deep cloudlets.
We assume that the amount of edge computing workload at each shallow cloudlet at a given time follows a general distribution. We also assume that is the total capacity budget to be provisioned at the edge where a portion of the capacity is provisioned at the shallow cloudlets and at the deep cloudlet. Both the workload and the capacity are measured in CPU cycles. We use CPU cycles to measure the workload since it has been widely used in the literature to measure the computation requirements of the computing tasks [50]. Accordingly, to be consistent with the workload unit, we use CPU cycles per second as the unit of the computing capacity. Moreover, we consider a finite size queuing system at each cloudlet location where all the queuing systems are modeled as a discretetime fluid system. In particular, at each time , the queuing system at shallow cloudlet consists of a server with constant rate and a fluid input which is assumed to be ergodic and stationary. We assume that ’s are independent but have a common distribution and . The normalized coefficient is also defined as . The system is assumed to be stable, i.e., .
Iii Capacity provisioning
We investigate two different network scenarios for the proposed system model. In particular, we first investigate the case that the network delay between the shallow cloudlets and the deep cloudlet is negligible. In the second scenario, we consider the case in which the deep cloudlet is located somewhere deeper in the network, and thus the network delay between the shallow cloudlets and the deep cloudlet is significant.
Iiia Bufferless shallow cloudlets
We first investigate a network model in which the network delay between shallow cloudlets and the deep cloudlet is negligible. As shown in Fig. 2, for such a network, we consider a buffer of size zero at each shallow cloudlet. Note that going from a flat architecture consisting of only shallow cloudlets to a hierarchical architecture with both the shallow cloudlets and the deep cloudlet, we take a portion of the capacity of the shallow cloudlets and allocate it to the deep cloudlet. Such a hierarchical capacity provisioning model is fair only if one unit of the capacity at a shallow cloudlet results in the same delay as compared to that at the deep cloudlet. Therefore, when the network delay is negligible, this fairness requirement is satisfied with bufferless shallow cloudlets since the deep cloudlet is assumed to be bufferless too. In other words, considering buffers at the shallow cloudlets while the deep cloudlet is bufferless is not a fair assumption from the perspective of the proposed capacity provisioning model. At each time , the amount of the computing workload forwarded to the deep cloudlet is equal to where . Accordingly, the queuing system of the deep cloudlet can be modeled as a discretetime fluid system consisting of a single server of constant rate and a fluid input . At time , the total amount of fluid loss in the system can be established as . The average fluid loss in the system is calculated as
(1) 
where the second equality is due to the ergodicity assumption. Note that the focus of this paper is on proposing a network capacity planning framework rather than a workload placement algorithm. Therefore, to achieve an optimum capacity provisioning, we propose to solve the following optimization problem
(2) 
where the objective is to minimize the average fluid loss and constraint is necessary for stabilizing the queue at the deep cloudlet. The following theorem provides an optimal solution to problem (2).
Theorem 1
The optimal solution to optimization problem (2) is achieved when , i.e., when all the computing capacity is provisioned at the deep cloudlet.
Proof:
To prove Theorem 1, we need to show that is an strictly increasing function with respect to . After some simple algebraic manipulation on , we have,
(3) 
Function is proven to be strictly increasing if we can show that for all , where . Consider two random variables and . If and satisfy the stoploss order, written as , then for all . In addition, the stoploss order is maintained under the summation of independent random variables. Therefore, if random variable precedes random variable in stoploss order, so precedes . Moreover, the dangerous order relation is known to be a sufficient condition for the stoploss order [32, 33, 39]. Therefore, we continue our proof by showing the satisfaction of the two known conditions for dangerous order relation. In terms of the first condition, we observe that random variables and satisfy the oncecrossing condition for crossing point . Regarding the second condition, it is simple to show that,
(4) 
Therefore, precedes in a dangerous order, and accordingly and have the stoporder relation and the proof is complete. ∎
IiiB Finitesize buffer shallow cloudlets
In this section, we investigate the case when the network delay between the shallow cloudlets and the deep cloudlet is not negligible. Therefore, is not the optimal solution since the reduction in the average loss is achieved at the expense of a higher delay. Let be the average network delay per unit of workload (one CPU cycle) if it is served at the deep cloudlet and let’s define each unit of workload as a job. For this scenario, we enforce a deadline equal to seconds at each shallow cloudlet’s buffer. In fact, a job is forwarded to the deep cloudlet only if it cannot be handled by deadline . That is, sizes of the buffers at the shallow cloudlets are calculated based on such that the maximum waiting time in each shallow cloudlet’s buffer is seconds. In other words, if one unit of capacity at a shallow cloudlet can handle a job within seconds, it is not fair/justfiable to consider the allocation of that capacity to the deep cloudlet since the network delay is seconds. Therefore, if is the number of waiting jobs in the corresponding buffer of shallow cloudlet right before the arrival of a new job, the new job can be handled after seconds. If , then the job can be handled before the deadline . Otherwise, the job is not handled before the deadline and it is forwarded to the deep cloudlet. Therefore, we can model the deadline by a finitesize queue with length . Accordingly, the average fluid loss is calculated as
(5) 
where is the queue length at shallow cloudlet at time . Therefore, we propose to solve the following optimization problem,
(6) 
where the objective is to minimize the average loss via optimizing and constraint is required for stabilizing the queue at the deep cloudlet.
Note that the optimization problem (6) can be compared to an stoploss reinsurance model where the objective of the problem is the stoploss pure premium with retention equal to [34, 35, 36]. Here, the retention , i.e., a flat design with only shallow cloudlets, can be considered as the special case where the insurer transfers all loss to the reinsurer, i.e., full reinsurance. On the other hand, case , i.e., a flat design with only a deep cloudlet, denotes the special case where the insurer retains all loss, i.e., the case that implies no reinsurance. In terms of finding the optimal solution for the reinsurance models, most of the existing studies assume that the distribution function of is known and satisfies some properties. However, here the distribution function of , i.e., , is not known for two reasons. First, the distribution of is not known. Second, even if we have the knowledge of the distribution function for , it is cumbersome to calculate the Mfold convolution of M pdfs. Moreover, in practice, we usually know the average of ’s rather than their distribution function. There are a few studies such as [37, 38], that consider the case when incomplete information of is available. However, those solutions are not applicable here because they either have to know at least the average and variance of or they are interested in finding the optimal retention or estimating the minimal stoploss rather than the optimum value of . Note that here we only know the average of , i.e., based on the loss probability of the G/D/1 queue. Therefore, we propose two different strategies to find the optimal value of . Both strategies are developed based on the Markov’s inequality. That is, instead of minimizing the original objective, we minimize an upper bound calculated based on the Markov’s inequality in the following theorem.
Theorem 2
The objective function of optimization problem (6) is upper bounded as follows,
(7) 
Proof:
where in the approximation can be decided based on the tail of the distribution of such that , i.e.,
Then, we have
where the last inequality is in accordance with the Markov’s inequality. The proof is complete. ∎
G/D/1 loss probability approach
In the first approach, we rely on the loss probability of the G/D/1 queue. According to queueing analysis [40], we have,
(8) 
where is the loss probability of the finitesize queue and can be accurately estimated from the tail probability (overflow probability) of an infinite buffer system as follows [40],
(9) 
where
(10) 
and for each ,
(11) 
and is the autocovariance of probability function and we have . Note that function (9) is valid when , i.e., when . In addition, it is known that the estimation yields the highest level of accuracy when is characterized by a Gaussian process. Therefore, in this approach, we focus on the case that the input process to each queue, i.e., , follows a Gaussian process and propose to solve the following optimization problem,
(12) 
To solve optimization problem (12), we propose a centralized heuristic algorithm. Our algorithm is motivated by two observations. First, is a nonincreasing function with respect to when [21, 22]. Second, alternative optimization problem (13) is a convex optimization problem if is limited to some specific range and can be solved efficiently by interior point methods. In other words, problem (12) is generally nonconvex. Therefore, we introduce a new variable such that . Accordingly, inspired by coordinate descent techniques [41], we solve successively alternate minimizations (13) in while holding fixed. As shown in Algorithm 1, we first choose a feasible value for stepsize . Note that Algorithm 1 converges to the optimal solution provided that the stepsize is selected small enough. We also set initial ratio and is chosen as the initial solution. Then, we solve the following optimization problem for the given value of ,
(13) 
Finally, we update the ratio and optimal solution as shown in Algorithm 1. We repeat this procedure until there is no optimal solution for problem (13). The convexity of problem (13) is proven in the following theorem.
Theorem 3
The constrained optimization problem (13) is a convex optimization problem if is limited to,
(14) 
Proof:
To show the convexity of the proposed optimization problem, we are required to prove [24]:

The objective function, i.e., , is convex.

The inequality constraint is convex.
We start by proving the convexity of , i.e., loss probability function. It is known that the loss probability is a convex function when the service rate [21, 22] is limited to,
(15) 
Accordingly, is a convex function for all if,
(16) 
Then, the inequality constraint function of and the objective function are both proven to be convex since they are summations of convex functions, and the proof is complete. ∎
An interesting extension for the optimization problem (12) is the case when the loss probability at each shallow cloudlet is upper bounded by a constant . In other words, this extension limits the number of jobs that can be forwarded to the deep cloudlet from the shallow cloudlets. Therefore, we incorporate this requirement into our optimization problem by adding the inequality constraints as follows,
(17) 
Note that the new inequality constraints form a convex set under the same requirement as Theorem 3. Therefore, Algorithm 1 can still be used to solve problem (17).
Queue length estimation approach
In the previous approach, we rely on the accuracy of loss probability of a G/D/1 queue and replace loss with . However, as mentioned earlier, function is accurate when the input process is characterized by a Gaussian distribution, and more importantly, it is derived based on the assumption that . Therefore, in this section, we propose another approach which can be accurate for other distributions such as the uniform distribution and is valid for all values of . The idea is to replace the queue length in with a linear estimation of the Average Queue Length (AQL). We propose the following linear estimation,
(18) 
where constants and can be calculated by solving two equations and . After reordering, we have
(19) 
Note that estimation (19) yields a higher accuracy for a smaller variance of . In case that the variance is not small, we can adjust the estimation as follows

(20) 
where constant is calculated heuristically and according to the variance of . Therefore, in order to find an approximate solution, we can replace the optimization problem (12) with the following problem,
(21) 
The same procedure as Algorithm 1 is still valid to solve problem (21) for two reasons. That is, function is a nonincreasing and convex function with respect to as proved in the following theorem.
Theorem 4
Function is a nonincreasing and convex function with respect to .
Proof:
Then, according to Leibniz integral rule, we have
where and thus . Therefore, function is proven to be nonincreasing. Moreover, by taking the second derivative with respect to , we have
Therefore, is convex and the proof is complete. ∎
Iv Simulation Results
In this section, we evaluate the performance of the proposed upper bound for the average loss based on both randomly generated input and real trace data. In both cases, we consider a fog computing network consisting of three shallow cloudlets connected to a deep cloudlet, i.e., a network architecture similar to Fig. 1.
Iva Random input
For the randomly generated input, we assume a total capacity budget of 20 Gigacycles per second. It is also assumed that the average computation workload at shallow cloudlets 1, 2, and 3 is equal to 4, 8, and 6 Gigacycles, respectively. The variance of the input process is also set to one. Moreover, when the input process is modeled by a Gaussian autoregressive (AR) process, the autocovariance is set to . For the simulation curves in the figures, the corresponding loss probabilities are calculated by simulations. That is, we neither use the loss probability function formula nor our estimation technique.
Fig. 3 compares the shape of the loss probability with the that of the proposed upper bound versus when sec. In particular, Figs. 3 (a), (b) and (c) show the results for Gaussian AR, Gaussian, and uniform processes, respectively. Note that the loss probability is defined as the average loss divided by . To be comparable with loss probability, the upper bound is also divided by in all the corresponding figures. As depicted in this figure, the upper bound is minimized almost for the same value of as the loss probability which confirms the accuracy of the proposed upper bound in terms of optimizing . This figure also evaluates the accuracy of the queue length estimation approach by comparing the upper bound based on this approach with the upper bound based on the simulation. We do not include the upper bound based on G/D/1 loss probability function (9) since this function is valid only for . Moreover, Fig. 4 shows the loss probability versus for Gaussian, Gaussian AR, and uniform input processes when . As shown in Fig. 4, in the case of , no matter what distribution, the loss probability exhibits a nondecreasing shape versus , which confirms the result of Theorem 1.
Figs. 5 and 6 provide the optimization results for different values of and different input processes. Specifically, Fig. 5 compares the optimum of the simulation result with both the G/D/1 loss probability function approach and the queue length estimation approach. Note that the optimum is increased by increasing because the queue length at the shallow cloudlets in increased by increasing and thus, it is more efficient to provide higher capacity at the shallow cloudlets.
Fig. 6 also compares the same approaches but in terms of the optimum loss probability which is equivalent to the optimum average loss since the loss probability is the average loss divided by constant . As depicted in Figs. 5 and 6, while both approaches have high accuracy, the estimation approach yields higher accuracy because the loss probability function is limited to a short range of values of . In other words, the optimum in the case of G/D/1 loss probability approach is lower bounded by . In addition, the better performance of G/D/1 loss probability approach when the input is Gaussian is due to the higher accuracy of function (9) for Gaussian input. Nevertheless, while the estimation approach provides an accurate solution quite close to the simulation, the loss probability of the estimation approach is sometimes lower than that of the simulation. This observation is attributed to the fact that the estimation approach can underestimate the average queue lengths. For example, the queue length estimation method estimates the average queue length as zero () for while the average queue length based on the simulation is not necessarily zero.
IvB Real trace data
In this section, we simulate the total incoming tasks at shallow cloudlets by the requests made to the 1998 World Cup web site [42] in which we use one hour trend of a sample day for each shallow cloudlet. We also assume that each task requires on average 1 Gigacycles. Fig. 7 (a) depicts the shape of the loss probability versus when . The loss probability versus when is a nondecreasing function which confirms the result of Theorem 1 for real trace data as well. Moreover, Figs. 7 (b) and (c) compare the optimization results, i.e., the optimum and optimum loss probability, of two proposed approaches with the simulation result. As depicted in these figures, the queue length estimation approach outperforms the G/D/1 approach for the real trace data as well.
V Conclusion
In this study, we have proposed a new hierarchical capacity provisioning scheme based on accurate queueing analysis. Specifically, we have considered a 2tier edge computing network architecture consisting of shallow and deep cloudlets, and explored both the case that the network delay between the shallow cloudlets and the deep cloudlet is negligible as well as the case in which the deep cloudlet is located somewhere deeper in network. Moreover, we have formulated optimization problems for each case and investigated the solution to each problem by using stochastic ordering and optimization algorithms. We have also validated the performance of our capacity provisioning scheme via extensive simulations.
References
 F. Bonomi, “Connected vehicles, the internet of things, and fog computing,” The Eighth ACM Intl. Wksp. on Vehicular InterNetworking (VANET), Las Vegas, USA, 2011.
 F. Bonomi et al., “Fog computing and its role in the internet of things,” Proc. MCC Workshop on Mobile Cloud Computing, pp. 13–16, 2012.
 M. Satyanarayanan et al., “The case for vmbased cloudlets in mobile computing,” IEEE Perv. Comp., vol. 8, no. 4, pp. 14–23, 2009.
 S. Clinch et al., “How close is close enough? understanding the role of cloudlets in supporting display appropriation by mobile users,” Proc. 2012 IEEE Conf. Perv. Comp., pp. 122–127, 2012.
 M. Satyanarayanan et al., “The role of cloudlets in hostile environments,” IEEE Perv. Comp., vol. 12, no. 4, pp. 40–49, 2013.
 G. A. Lewis et al., “Cloudletbased cyberforaging for mobile systems in resourceconstrained edge environments,” Proc. ACM 36th Intl. Conf. Soft. Engrng., pp. 412–415, 2014.
 M. Satyanarayanan et al., “Edge analytics in the internet of things,” IEEE Pervasive Computing, vol. 14, no. 2, pp. 24–31, 2015.
 K. Ha et al., “Adaptive vm handoff across cloudlets,” Technical Report CMUCS15113, CMU School of Computer Science, Tech. Rep., 2015.
 Y. C. Hu et al., “Mobile edge computingâa key technology towards 5G,” ETSI White Paper, vol. 11, 2015.
 P. Corcoran and S. K. Datta, “Mobileedge computing and the internet of things for consumers: Extending cloud computing and services to the edge of the network,” IEEE Consumer Electronics Magazine, vol. 5, no. 4, pp. 73–74, 2016.
 B. Sergio et al., “Communicating while computing: Distributed mobile cloud computing over 5G heterogeneous networks,” IEEE Sig. Proc. Mag., vol. 31, no. 6, pp. 45–55, 2014.
 S. Khalili and O. Simeone, “Interlayer permobile optimization of cloud mobile computing: a messagepassing approach,” Trans. on Emerging Telecom. Tech., 2016.
 X. Sun and N. Ansari, “Primal: Profit maximization avatar placement for mobile edge computing,” ICC 2016, pp. 1–6, Kuala Lumpur, Malaysia, May 2227, 2016.
 ——, “EdgeIoT: Mobile edge computing for internet of things,” IEEE Comm. Mag., vol. 54, no. 12, pp. 22–29, Dec. 2016.
 U. Lampe et al., “Maximizing cloud provider profit from equilibrium price auctions,” 2012 IEEE 5th Int. Conf. on Cloud Computing, pp. 83–90, 2012.
 A. Ceselli et al., “Cloudlet network design optimization,” IFIP Networking, pp. 1–9, 2015.
 N. Alliance, “Small cell backhaul requirements,” white paper, June, 2012.
 “Amazon ec2,” https://aws.amazon.com/ec2, accessed: 11/23/2016.
 L. Zheng et al., “How to bid the cloud,” ACM SIGCOMM Com. Comm. Rev., vol. 45, no. 4, pp. 71–84, 2015.
 U. S. E. P. Agency, “EPA report on server and data center energy efficiency,” Final Report to Congress, Aug. 2007.
 M. Ghamkhari and H. MohsenianRad, “Energy and performance management of green data centers: A profit maximization approach,” IEEE Trans. on Smart Grid, vol. 4, no. 2, pp. 1017–1025, 2013.
 A. Kiani and N. Ansari, “Profit maximization for geographical dispersed green data centers,” IEEE Trans. on Smart Grids, DOI: 10.1109/TSG.2016.2562565, 2016.
 ——, “A fundamental tradeoff between total and brown power consumption in geographically dispersed data centers,” IEEE Comm. Lett., vol. 20, no. 10, p. 1955, 2016.
 S. Boyd and L. Vandenberghe, Convex optimization. Cambridge university press, 2004.
 J. Guo et al., “A cooperative game based allocation for sharing data center networks,” INFOCOM Proc., pp. 2139–2147, 2013.
 “Cvx: Matlab software for disciplined convex programming, version 2.0,” http://cvxr.com/cvx, accessed: 11/23/2016.
 “Gurobi optimization,” http://www.gurobi.com, accessed: 11/23/2016.
 Y. Zhang et al., “An auction mechanism for resource allocation in mobile cloud computing systems,” Int. Conf. on Wireless Alg., Sys., and App., pp. 76–87, 2013.
 M. Chiang and T. Zhang, “Fog and IoT: An overview of research opportunities,” IEEE Internet of Things Journal, vol. 3, no. 6, pp. 854–864, 2016.
 N. M. Gonzalez et al., “Fog computing: Data analytics and cloud distributed processing on the network edges,” 2016 35th Intl. Conf. of Chilean Comp. Sci. Soc., pp. 1–9, 2016.
 M. Jutila, “An adaptive edge router enabling internet of things,” IEEE Internet of Things Journal, vol. 3, no. 6, pp. 1061–1069, 2016.
 W. Hürlimann, “Higher degree stoploss transforms and stochastic ordersâ(i) theory,” Blätter der DGVFM, vol. 24, no. 3, pp. 449–463, 2000.
 ——, “Extremal moment methods and stochastic orders,” Application in Actuarial Science. Monograph manuscript (available from the author), 1998.
 J. Cai and K. S. Tan, “Optimal retention for a stoploss reinsurance under the var and cte risk measures,” Astin Bulletin, vol. 37, no. 01, pp. 93–112, 2007.
 K. S. Tan et al., “VaR and CTE criteria for optimal quotashare and stoploss reinsurance,” North American Actuarial Journal, vol. 13, no. 4, pp. 459–482, 2009.
 ——, “Optimality of general reinsurance contracts under CTE risk measure,” Insurance: Mathematics and Economics, vol. 49, no. 2, pp. 175–187, 2011.
 X. Hu et al., “Optimal retention for a stoploss reinsurance with incomplete information,” Insurance: Mathematics and Economics, vol. 65, pp. 15–21, 2015.
 R. Reijnen et al., “Approximations for stoploss reinsurance premiums,” Insurance: Mathematics and Economics, vol. 36, no. 3, pp. 237–250, 2005.
 Y. Cheng and J. Pai, “The maintenance properties of nth stoploss order,” Proc. 30th Intl. ASTIN Colloq./9th Intl. AFIR Colloq., vol. 95, p. 118, 1999.
 H. S. Kim and N. B. Shroff, “Loss probability calculations and asymptotic analysis for finite buffer multiplexers,” IEEE/ACM Trans. on Networking (TON), vol. 9, no. 6, pp. 755–768, 2001.
 J. Bezdek et al., “Local convergence analysis of a grouped variable version of coordinate descent,” Journal of Optimization Theory and Applications, vol. 54, no. 3, pp. 471–477, 1987.
 Http://ita.ee.lbl.gov/html/contrib/WorldCup.html.
 A. Shahini and N. Ansari, “Subchannel allocation in green powered heterogeneous cognitive radio networks,” Proc. IEEE 37th Sarnoff Symposium, pp. 13–18, Sept 2016.
 R. Tandon and O. Simeone, “Harnessing cloud and edge synergies: Toward an information theory of fog radio access networks,” IEEE Communications Magazine, vol. 54, no. 8, pp. 44–50, 2016.
 A. Kiani and N. Ansari, “Towards hierarchical mobile edge computing: An auctionbased profit maximization approach,” arXiv preprint arXiv:1612.00122, 2016.
 X. Sun and N. Ansari, “Green cloudlet network: A distributed green mobile cloud network in future networks,” IEEE Network, vol. 31, no. 1, pp. 64–70, Jan./Feb. 2017.
 S. Xiang and N. Ansari, “Latency aware workload offloading in the cloudlet network,” IEEE Communications Letters, DOI: 10.1109/LCOMM.2017.2690678, early access.
 Q. Fan et al., “Latency aware workload offloading in the cloudlet network,” IEEE Communications Letters, DOI: 10.1109/LCOMM.2017.2684812, early access.
 S. Xiang and N. Ansari, “Adaptive avatar handoff in the cloudlet network,” IEEE Trans. on Cloud Comput., DOI: 10.1109/TCC.2017.2701794, early access.
 E. Cuervo et al., “Maui: making smartphones last longer with code offload,” in Proceedings of the 8th int. conference on Mobile systems, applications, and services. ACM, 2010, pp. 49–62.