Little Boxes: A Dynamic Optimization Approach for Enhanced Cloud Infrastructures
The increasing demand for diverse, mobile applications with various degrees of Quality of Service requirements meets the increasing elasticity of on-demand resource provisioning in virtualized cloud computing infrastructures. This paper provides a dynamic optimization approach for enhanced cloud infrastructures, based on the concept of cloudlets, which are located at hotspot areas throughout a metropolitan area. In conjunction, we consider classical remote data centers that are rigid with respect to QoS but provide nearly abundant computation resources. Given fluctuating user demands, we optimize the cloudlet placement over a finite time horizon from a cloud infrastructure provider’s perspective. By the means of a custom tailed heuristic approach, we are able to reduce the computational effort compared to the exact approach by at least three orders of magnitude, while maintaining a high solution quality with a moderate cost increase of 5.8% or less.
Keywords:cloud computing data center cloudlet quality of service multimedia service dynamic optimization heuristic
Over the last decade, the development of Information Technology (IT) has been shaped by different trends. One of these trends is cloud computing, which started as a paradigm for monetizing surplus IT resources to become a cornerstone paradigm in resource provisioning for business as well as private customers. In addition to these trend, we observed another major trend of increasing dissemination of mobile devices over the past few years. Omnipresent smartphones are heavily used today to consume multimedia services, communicate, and play massive real-time online games.
Combining these two trends together, i.e., (i) the demand for more diverse services – especially given device mobility – together with (ii) the elastic on-demand service (resource) provisioning of the cloud computing paradigm, we arrive at the mobile cloud computing paradigm. This paradigm imposes many new challenges, specifically regarding the Quality of Service (QoS) requirements of mobile services. Strict QoS requirements while providing multimedia services stand in contrast to the usual concentration of computational resources in a small number of large, centralized cloud data centers. To reduce the latency between data centers and users, research showed that a higher service quality can be achieved with an increased number of data centers. This obviously causes immense additional costs and oppose the economies of scale advantage of cloud computing [2, 8].
Mobile devices using LTE networks suffer from higher latency  and high energy consumption . Such problems can be addressed by utilizing (miniature) data centers or computation resources in proximity to the user. In the best case, such resources are accessible via Wi-Fi and offer interfaces to offload the computation of intensive tasks. These resources at the edge of the network are referred to as cloudlets . In the work at hand, we investigate a cost-efficient and QoS-aware placement of cloudlet resources using a time dynamic, multi-period optimization model. The remainder of the paper is structured as follows: In Section 2, we provide a problem description from a provider’s perspective. Section 3 contains our model and the solution approach. Section 4 provides a quantitative evaluation of the results. Subsequently, in Section 5, we provide an overview of relevant related work on cloudlets and edge resource placements, before concluding the paper in Section 6.
2 Problem Statement
In this work, we assume the role of a cloud infrastructure provider that aims to provide resources for higher layer application service providers. We assume that the provider owns the cloud infrastructure at hand and, thus, has free disposure over all of its resources. For premium services with rigid QoS constraints, the provider aims to augment his infrastructure using cloudlets within a metropolitan area. Therefore, we consider stationary cloudlets with permanently installed hardware, which are connected to the same Local Area Network (LAN), i. e., Wi-Fi, as the users [13, 15]. Hence, the users benefit from a low propagation delay and a high bandwidth. As deployment method, we assume a top-down approach, where the provider owns and offers cloudlets and, hence, bears the entrepreneurial risk . We consider cloudlet locations at existing restaurants or cafes (e. g., Starbucks stores) in Manhattan. Obviously, such deployments require contractual agreements. Since we are focusing on the optimization approaches, the underlying business models are out of scope for this paper.
In the following, we aggregate all users covered by a local Wi-Fi into a user cluster with a defined demand for services. Naturally, this user demand is fluctuating over time. As depicted in Figure 1, a user cluster comprises different types of network connections.
First, a hard-wired LAN connects the Wi-Fi hotspot, a possibly installed cloudlet, and the router to communicate to external remote resources. Second, Wi-Fi connections that connect the mobile devices to the Wi-Fi hotspot. Since we are assuming a higher bandwidth on the wired LAN compared to the wireless Wi-Fi hotspot, we do not consider the LAN as a limiting factor.
The third network component connects a user cluster to a central router within the Metropolitan Area Network (MAN) and hence, to other user clusters, cloudlets, and remote data centers. Figure 1 shows the basic structure of a cloudlet, the networks, and the connection to a remote cloud data center.
The provider may place cloudlets and the corresponding resources at different locations. When putting a new location into service, fixed infrastructure cost will arise. Each cloudlet can be equipped with a number of servers up to an upper capacity bound. The capacity is restricted by limited physical space, limited feasibility for cooling, or restrictions regarding the overall energy consumption. For each deployed server, fixed hardware costs occur. Furthermore, for each resource unit variable costs arise, e. g., for electricity and cooling. Since such costs may fluctuate over time, e. g., due to varying energy prices, a provider needs to consider a planning time horizon that is captured here through multiple time periods. If a resource migration, e. g., in form of VM migration, is required, migration costs arise. We assume that these costs are independent of the type of cloudlet or the distance between the cloudlets. In real world scenarios, service migrations can be time aligned with data transfer. Therefore, we consider different migration costs depending on the service class (cf. Table 3). In our model, penalty costs arise if a specific user demand cannot be fulfilled.
Data centers provide different QoS guarantees with respect to each user cluster, i. e., with respect to the end-to-end latency that depends on the distance between the data center and the user cluster. Therefore, a provider needs to differentiate between the different types of data centers for service placement, i. e., local cloudlets and remote data centers. The latter one generally possesses a higher latency.
By the means of the provided infrastructure, users access various services. We distinguish between three different service classes, whereby each class possesses specific QoS requirements: (i) Cloud services that can be easily used via a cellular network, i. e., services with low QoS requirements regarding latency and bandwidth, for example messaging tools. (ii) Cloud services that can be easily used via broadband internet, i. e., services with high bandwidth requirement, but not necessarily realtime constraints, such as on-demand video streaming. (iii) Cloud services with high computational effort, realtime constraints, and high bandwidth requirements, e. g., cloud gaming.
The first class of services plays a minor role in our scenario, since cloudlets only offer marginal additional benefits to such services. Nevertheless, these services can by provided by cloudlets if free capacities are available. For the second class of services, cloudlets increase the users’ quality of experience through a high bandwidth to demanded content. For the third class of services, we note that cloudlets are required to ensure appropriate quality of service guarantees.
The purpose of this optimization, which is based on a provider’s perspective, is to place resources in data centers and take decisions regarding the required capacity while providing QoS guarantees. Thereby, the goal is a minimization of the overall provisioning costs. In the following, we refer to this problem as Dynamic Cloudlet Placement and Selection Problem (DCPSP).
3 Optimization Approach
Next, we present a Mixed Integer Linear Program (MILP) formulation for the dynamic cloudlet placement and selection problem. Subsequently, in order to solve the problem in an efficient manner, we provide a heuristic solution approach, which is described in detail in Section 3.2.
3.1 Exact Approach
To provide a mathematical model for the DCPSP, we introduce the formal notation in Table 1. The objective is the minimization of the total monetary cost associated with the cloudlet placement and selection.
3.1.1 Optimization Goal
The objective function aiming to minimize the total costs is given in Eq. 3.1.1. These costs are split into fixed infrastructure cost, variable operating cost, variable reservation cost, penalty cost, migration cost, and fixed hardware cost.
The first summand represents the fixed infrastructure cost that depends on the selected data centers represented by the decision variable and the corresponding value for the individual fixed cost . Such resource-agnostic cost occurs once for each planning period when a data center is placed. The second part of the term summarizes to the variable operational costs that are caused by the provided resource units . The operational costs depend on the selected data center and may well vary over time. The third summand refers to capacities requested by a user cluster that are unfulfilled by the selected data centers. These capacities, , cause penalty cost . The migration cost is expressed in the fourth summand. Such migration cost includes the data transfer cost from one data center to another. Since we assume that launching a new service does not cause migration cost, such cost only occurs from the second time period on.
Eq. 3.1.1 expresses the number of resource units to be migrated. To calculate the total amount, we distinguish two different cases: (i) The amount of resources that is provided to a specific user cluster w.r.t. a specific service is either constant or increases between two subsequent time periods, while the resource share provided by specific data center decreases. (ii) the aggregated amount of resources provided to a specific user cluster w.r.t. a specific service decreases between to time slots, while the resource share provided by a specific data center increases. To model and implement the optimization problem, this case differentiation requires a standard transformation into a linear equation system. However, due to space restrictions, this transformation is not part of the work at hand.
Note that the last summand in Eq. 3.1.1 refers to the provided hardware units in each data center. Providing servers leads to hardware cost .
|represents a specific data center and encompasses cloud data centers and cloudlets|
|represents a specific user cluser|
|represents a specific service|
|represents a specific QoS attribute|
|represents a specific time slot within the planning period|
|service demand of user for service at time|
|minimal capacity of data center|
|maximal capacity of data center|
|LAN downlink capacity of user cluster|
|LAN uplink capacity of user cluster|
|WAN downlink capacity of user cluster|
|WAN uplink capacity of user cluster|
|fixed cost of selecting data center|
|fixed costs for buying or leasing hardware for data center|
|variable cost for operating one resource unit for one time unit in data center at time|
|migration cost for moving service from one data center to another between two subsequent time periods and|
|penalty cost per service unit not provided to user w.r.t. service|
|QoS guarantee of data center w.r.t. user for QoS attribute|
|QoS requirement of user w.r.t. service for QoS attribute|
|required downstream capacity for service|
|required upstream capacity for service|
|variable indicates whether a data center will be used or not|
|number of resources a data center provides to a user cluster regarding a service in time period|
|number of resources that are migrated from one to another data center in between the time periods and|
|demand that is not satisfied by the provider and that will cause penalty costs|
|number of hardware resource units provided within a data center|
In the following, we present the required constraints to ensure a valid solution of this optimization problem. The first constraint in Eq. 3 concerns the user cluster demand . Since a provider has the choice either to fulfill the demand or cause a penalty, the summation of provided and unfulfilled capacities must be equal or greater to the resource demand of all user clusters for all services at each point in time.
The available data center resources are limited by a maximal capacity constraint , e. g., by the available space or cooling. Further, we consider a lower capacity bound reflecting the economic necessity of a cost-efficient operation of data centers. As cloudlets can be established with few hardware resources, e. g., a single server, this bound could also be set to zero. These conditions determine the number of hardware resources that can be installed within a data center (cf. Eq. 4 and Eq. 5).
The adherence to QoS requirements is expressed by the binary variable . If all QoS guarantees are fulfilled, the variable is set to one (cf. Eq. 6). Otherwise, a data center cannot provide any resources (cf. Eq. 7).
As described earlier, each user cluster is connected to two types of networks, a LAN, i. e., Wi-Fi, and a MAN that connects the different user clusters with each other and to remote cloud data centers. All services that are consumed require a specific average amount of bandwidth. Note that the required bandwidth most be lower or equal than the available bandwidth. Since services may have different requirements regarding download and upload capacities, we differentiate between these two (cf. Eq. 3.1.2 and 3.1.2).
The MAN connection is required to provide services from remote resources to a local user cluster, and may be necessary to provide services from a local cloudlet to remote users. For services that are provided by the local cloudlet and consumed by the local users, no MAN capacities are required at all. Eq. 3.1.2 and Eq. 3.1.2 represent the corresponding constraints. Further, we differentiate between download and upload capacities to take specific service requirements and network characteristics into account.
The presented optimization problem constitutes a Mixed Integer Program (MIP) and is NP-hard. Hence, no known algorithms exists that is capable to solve any corresponding problem instances in polynomial time. In the following, we describe a heuristic solution approach to obtain solutions to this problem with reasonable effort.
3.2 Heuristic Approach
To find solutions to the DCPSP in reasonable time and in an appropriate solution quality we investigate in different heuristic solution strategies. Therefore, we adapted our static approach from  to this dynamic optimization problem. We improve this single period approach by enhancing the algorithm to optimize across multiple periods and by including network capacities and migration cost. We also evaluate our approach using multiple services classes with different non-functional requirements.
The pseudo code of our approach is illustrated in Algorithm 1. The additional required variables are explained in Table 2. With the goal in mind to minimize the total cost, we implement and evaluate two different strategies: (i) Cover as much demand as possible and (ii) limit the provided resources to avoid an over provisioning. The first strategy, DCPSP-HEU1.KOM, can freely dispose over all available resources within the boundaries given by the earlier described constraints. We assume this strategy causes high fixed cost but minimizes the penalty cost. Since we aim to satisfy as much demand as possible, this strategy also implies a high user satisfaction. With the second strategy, DCPSP-HEU2.KOM, we aim to prevent a resources provisioning for single peak load. Providing resources for such scarce events might increase the overall fixed cost. Thus, this strategy avoids over-provisioning and, therefore, trades penalty costs for fixed costs.
|List of permitted data centers depend on QoS requirements and guarantees|
|List of residual user clusters and their requested services|
|Residual demand w.r.t. user cluster and data center|
|Already assigned demand w.r.t. user cluster, data center, and time period|
|Residual (unused) capacities of the data centers|
|List of residual network capacities of a user cluster (incl. LAN, MAN, down and up link)|
|Lot size of a LAN for an additional quantity of services|
|Lot size of a MAN for an additional quantity of services|
|Maximal number of provided capacities by cloudlets (only required for second strategy)|
|Counter for capacities provided by cloudlets (only required for second strategy)|
In our model, we assume that services with the highest QoS constraints cause the highest migration and penalty cost. Hence, these services require a higher priority for assignment. To minimize these costs, both strategies take the previously made assignment decisions into account (cf. Line 8 to 16) and retain decisions from the previous period.
For the unassigned demand, we use an iterative process, which starts at Line 18. The process is repeated until the entire service demand is assigned or no more appropriate resources are available. Depending on the priority, we select a user cluster and a service to be assigned (cf. Line 20). If there are free capacities within the MAN link of a user cluster, we include all permitted data centers and select the most appropriate one (cf. Line 25). Otherwise, we check if a local cloudlet is available for this particular user cluster and use these resources (cf. Line 27). To decide what quantity of resources are assigned in the current iteration, we calculate the lot size depending on the residual demand, resource capacities, and network capacities (cf. Line 30). The assigned resources are stored in the list (cf. Line 31). Finally, we adjust the list storing data center and user cluster information. If all resources of a data center are assigned, we remove it from the list of permitted data centers (cf. Line 39). Further, we remove a pair user cluster and service form the corresponding list if at least one of the following conditions are true: (i) The entire demand is covered, (ii) no appropriate resources are provided, or (iii) no more network capacities are available (cf. Line 41). Finally, after finishing this process, we calculate the overall cost caused by the assignment, migration, and penalties. In the subsequent section, we compare the solution obtained through this heuristic approach to the optimal one.
To evaluate our approaches, we prototypically implemented them using Java and IBM CPLEX. To determine proper test cases, we aim to consider realistic values and parameters. However, due to the fast-growing number of decision variables when considering multiple time periods, we focus on small problem instances. We distinguish between (remote) cloud data centers and local cloudlets, e. g., cafes. As an representation of the cloud, we consider one remote cloud data center in our evaluation, along with a variable number of cloudlets.
The two types of data centers are characterized by different capacities, costs, and QoS guarantees. Based on the commonly agreed characteristics of cloud computing, we assume that the remote cloud data center is able to provide sufficient resources to cover the entire service demand, according to its provided QoS guarantees. Therefore, we set the maximum capacity that is substantially higher than the demand for a specific service. Furthermore, since we aim to augment the existing infrastructure by local resources, we assume that the cloud resources already exist and, hence, no fixed cost for construction occur. The provided resources are accessible on-demand when needed and charged in a pay-as-you-go manner. Hence, we set the minimum capacity constraint for the remote cloud data center to zero. Locally installed cloudlets have a limited capacity to host hardware resources, where we assume a maximal capacity between 1 and 20 resource units. This reflects the obvious association of any deployment with at least one server and the space capacity of a single rack, respectively.
Based on , we assume the following cost ratio for deploying and operating a cloudlet: (i) 50% expenditures for servers, (ii) 25% for fixed infrastructure costs, and (iii) 25% for variable operational costs. Users, cloudlets, and remote data centers are connected through different types of networks: Wide Area Networks (WANs), MANs, and LANs (cf. Figure 1). For each type of network connection, we assume different download and upload capacities. Following the published statistics of the New York City Economic Development Corporation (NYCEDC) , we assume all cloudlet clusters (e. g., cafes), are connected with a symmetric bandwidth of 1 Gbps. The users’ mobile devices within the LAN are connected via Wi-Fi, for which we assume the most recent standard, i. e., IEEE 802.11ac. For this standard, measurements have shown a realistic bit rate of 500 Mbps up to a distance of 15 meters . To take full advantage of the given MAN capacity of 1 Gbps, we assume at least two Wi-Fi routers per location. To represent different store sizes, we set a randomly determined number of Wi-Fi routers between two and six in our simulation.
As described in Section 2, the utilization of cloudlets can be beneficial for a variety of applications. As discussed, we use three different service classes with different characteristics and costs. For services with real-time constraints, we assume that cloudlets are strictly required. The requirement and cost assumptions used for the evaluation are listed in Table 3.
|Service 1||Service 2||Service 3|
|Req. download cap. (Mbps)||40||40||20|
|Req. upload cap. (Mbps)||10||10||20|
4.2 Results and Discussion
An important factor for our dynamic optimization model are the considered time slots. While evaluating the number of time slots, all remaining variables are assumed as fixed. We set the values as follows: , , , and . Due to the high computational effort of the exact solution approach, we limit our simulation to five time slots. The computation effort of the analyzed approaches are illustrated in Figure (a)a.
As we expected, the exact approach requires by far the most time to find a solution. Furthermore, this value increases rapidly with a growing number of considered time slots. If we consider only one time slot, an average computation time of 84 ms is required. For the last test case with five time slots, the computation time increase by the factor of about to over 103 s. Both heuristic approaches require nearly the same amount of computation time and show a linear behavior with a growing number of time slots. The first approach, DCPSP-HEU1.KOM, requires an average computation time of about 1.2 ms for the first test case and 4.1 ms for the last test case. Hence, compared to the exact approach we are able to reduce the computation time by over four orders of magnitude for the test case with five discrete time slots.
However, the improved computation time comes at the price of a reduced solution quality. Figure (b)b shows the cost ratios of the two strategies. Two major results are notable: (i) The first strategy outperforms the second one by 3.6 to 3.8 percentage points; (ii) for both strategies, the solution quality deteriorates with an increasing number of time slots. However, the solution quality stabilizes from the fourth time slot on. Focusing on the better approach (DCPSP-HEU1.KOM), it is notable that the solution quality decreases with an increasing number of time slots. The difference for the first test case corresponds to 1.4% and increases to 5.8% for the last test case. However, the growth of the cost ratio decreases notably between the time slots. Thus, for the fourth and the fifth time slot, nearly the same solution quality is achieved. We infer that the reason can be seen in the occurrence of fixed costs.
In a second simulation, we analyzed the influence of data centers and user clusters. Since a cafe or a business location represents a user cluster and can as well act as a cloudlet, we increase both values simultaneously. While analyzing these values, the remaining variables are assumed as constant: , , and . Figure (a)a illustrates the computation time depending on the number of considered locations that act as user cluster and local data centers. Again, the exact solution approach causes the highest computational effort. To find a solution for the first test case (), requires 2.8 s on average. Up the last test case (), this value increases to 61.9 s. Compared to the impact of the number of time slots, the number of data centers/user cluster has a relatively small influence on the computation time. However, using our heuristic approach, we are able to reduce the computation time by at least three orders of magnitude.
The evaluation shows that the limitation of resources is not a promising strategy. Figure (b)b shows the cost ratios of our two approaches. Clearly notable are the better results of the first approach. It outperforms the second one by about 3.4 to 3.7 percentage points. An unexpected result is the trend of the solution quality with an increasing number of considered data center/user cluster. For the first case, the difference between the first approach (DCPSP-HEU1.KOM) amounts to 5.0%. Up to the last test case, the difference shrinks to only 3.3%. The reason for this result can be seen in a higher number of available resources. Even with an increased resource demand, a higher amount of resources is more able to handle demand fluctuations. Furthermore, with increasing demand and supply, the total costs increase as well and, hence, wrong assignment decisions become less important to the cost ratio.
5 Related Work
Cloudlets and edge resources are a fast growing research fields. Therefore, in this section we are focusing on two main research areas, i. e., (i) Optimization approaches for cloudlet placement, (ii) Provisioning of Wi-Fi access nodes in urban areas.
The authors of  consider the cloudlet placement within cellular networks. The authors propose a placement of cloudlets in base stations and formulate a static and a dynamic optimization approach to determine where to install such cloudlets. In addition to the optimal solution approach, the authors present a heuristic approach. The works in [5, 4] are related to our work as they show relevant problem formulations and corresponding solution heuristics for providing computing resources, as well as, networking resources within a mixed cloud infrastructure network. The main difference to our work is that the authors focus there on the resource provisioning interactions when slicing cloud and connectivity resources across multiple provider networks that do not trust each other.
The authors of  analyze the impact of cloudlets on mobile applications. The authors present a cloudlet-based peer-to-peer architecture to reduce the propagation delay and increase the throughput. To evaluate their approach, the authors tested different types of applications, e. g., file editing and video streaming. With their approach, the authors are able to reduce the transfer delay and the throughput if the maximum number of cloudlet hops does not exceed two. To handle the rapidly growing mobile traffic, Dimatteo et al.  present an architecture to evaluate potential costs and gains for providing Wi-Fi offloading. Therefore the authors simulate the deployment of Wi-Fi hotspots in San Francisco and aim to determine how many access points are required to obtain a performance improvement. The authors use a ranked list and freely choose a location within the metropolitan area. In our work, we are tied by a set of possible locations, since we use stationary cafes as cloudlet locations and user clusters. Further, in contrast to the related work that tries to improve the download delay, we are focusing on highly interactive applications and thus, on latency.
To provide services with stringent QoS requirements, an augmentation of the centralized cloud infrastructure by locally installed cloudlets is a promising approach. Since the utilization of decentralized micro data center is costly, we examined the Dynamic Cloudlet Placement and Selection Problem to provide the means of a cost-efficient infrastructure augmentation. We formulate the mixed integer optimization problem to compute the exact solution. To overcome the problem of high computational effort, we investigate different heuristic approaches. By the means of these heuristics, we are able to significantly reduce the computation time by at least three orders of magnitude while maintaining a high solution quality, with a moderate increase of cost by up to 5.8%.
This work has been sponsored in part by the German Federal Ministry of Education and Research (BMBF) under grant no. 01IS12054, by E-Finance Lab e.V., Frankfurt a.M., Germany (www.efinancelab.de), and by the German Research Foundation (DFG) in the Collaborative Research Center (SFB) 1053 â MAKI.
-  Ceselli, A., Premoli, M., Secci, S.: Cloudlet Network Design Optimization. In: IFIP Networking Conference (2015)
-  Choy, S., Wong, B., Simon, G., Rosenberg, C.: The Brewing Storm in Cloud Gaming: A Measurement Study on Cloud to End-User Latency. In: 11th Annual Workshop on Network and Systems Support for Games (2012)
-  Dianu, M.D., Riihijarvi, J., Petrova, M.: Measurement-Based Study of the Performance of IEEE 802.11ac in an Indoor Environment. In: IEEE Int. Conf. on Communications. pp. 5771–5776 (2014)
-  Dietrich, D., Abujoda, A., Rizk, A., Papadimitriou, P.: Multi-provider service chain embedding with nestor. IEEE Transactions on Network and Service Management 14(1), 91–105 (March 2017)
-  Dietrich, D., Rizk, A., Papadimitriou, P.: Autoembed: Automated multi-provider virtual network embedding. In: Proceedings of ACM SIGCOMM. pp. 465–466 (2013)
-  Dimatteo, S., Hui, P., Han, B., Li, V.: Cellular Traffic Offloading Through WiFi Networks. In: 8th Int. Conf. on Mobile Adhoc and Sensor Systems (2011)
-  Fesehaye, D., Gao, Y., Nahrstedt, K., Wang, G.: Impact of Cloudlets on Interactive Mobile Cloud Applications. In: 16th Int. Enterprise Distributed Object Computing Conf. (2012)
-  Goiri, I.n., Le, K., Guitart, J., Torres, J., Bianchini, R.: Intelligent Placement of Datacenters for Internet Services. In: 31st Int. Conf. on Distributed Computing Systems (2011)
-  Greenberg, A., Hamilton, J., Maltz, D.A., Patel, P.: The Cost of a Cloud: Research Problems in Data Center Networks. ACM SIGCOMM Computer Communication Review 39(1), 68–73 (2008)
-  Hans, R., Steffen, D., Lampe, U., Richerzhagen, B., Steinmetz, R.: Setting Priorities: A Heuristic Approach for Cloud Data Center Selection. In: 5th Int. Conf. on Cloud Computing and Services Science (2015)
-  Huang, J., Qian, F., Gerber, A., Mao, Z.M., Sen, S., Spatscheck, O.: A Close Examination of Performance and Power Characteristics of 4G LTE Networks. In: 10th Int. Conf. on Mobile Systems, Applications, and Services (2012)
-  New York City Economic Development Corporation: NYC Broadband Map. Online (2017), https://www.nycbbmap.com/
-  Satyanarayanan, M., Bahl, P., Caceres, R., Davies, N.: The Case for VM-based Cloudlets in Mobile Computing. Pervasive Computing 8(4), 14–23 (2009)
-  Sommers, J., Barford, P.: Cell vs. WiFi: On the Performance of Metro Area Mobile Connections. In: 2012 Conf. on Internet Measurement (2012)
-  Verbelen, T., Simoens, P., De Turck, F., Dhoedt, B.: Cloudlets: Bringing the Cloud to the Mobile User. In: 3rd ACM Workshop on Mobile Cloud Computing and Services (2012)