title: Urban Edge Computing
Creators: name: Gedeon, Julien
Publisher: name: UNSPECIFIED
Year: 2020

description: The new paradigm of Edge Computing aims to bring resources for storage and computations closer to end devices, alleviating stress on core networks and enabling low-latency mobile applications. While Cloud Computing carries out processing in large centralized data centers, Edge Computing leverages smaller-scale resources— often termed cloudlets—in the vicinity of users. Edge Computing is expected to support novel applications (e.g., mobile augmented reality) and the growing number of connected devices (e.g., from the domain of the Internet of Things). Today, however, we lack essential building blocks for the widespread public availability of Edge Computing, especially in urban environments. This thesis makes several contributions to the understanding, planning, deployment, and operation of Urban Edge Computing infrastructures. We start from a broad perspective by conducting a thorough analysis of the field of Edge Computing, systematizing use cases, discussing potential benefits, and analyzing the potential of Edge Computing for different types of applications. We propose re-using existing physical infrastructures (cellular base stations, WiFi routers, and augmented street lamps) in an urban environment to provide computing resources by upgrading those infrastructures with cloudlets. On the basis of a real-world dataset containing the location of those infrastructures and mobility traces of two mobile applications, we conduct the first large-scale measurement study of urban cloudlet coverage with four different metrics for coverage. After having shown the viability of using those existing infrastructures in an urban environment, we make an algorithmic contribution to the problem of which locations to upgrade with cloudlets, given the heterogeneous nature (with regards to communication range, computing resources, and costs) of the underlying infrastructure. Our proposed solution operates locally on grid cells and is able to adapt to the desired tradeoff between the quality of service and costs for the deployment. Using a simulation experiment on the same mobility traces, we show the effectiveness of our strategy. Existing mechanisms for computation offloading typically achieve loose coupling between the client device and the computing resources by requiring prior transfers of heavyweight execution environments. In light of this deficiency, we propose the concept of store-based microservice onloading, embedded in a flexible runtime environment for Edge Computing. Our runtime environment operates on a microservice-level granularity and those services are made available in a repository—the microservice store—and, upon request from a client, transferred from the store to execution agents at the edge. Furthermore, our Edge Computing runtime is able to share running instances with multiple users and supports the seamless definition and execution of service chains through distributed message queues. Empirical measurements of the implemented approach showed up to 13 times reduction in the end-to-end latency and energy savings of up to 94 % for the mobile device. We provide three contributions regarding strategies and adaptations of an Edge Computing system at runtime. Existing strategies for the placement of data and computation components are not adapted to the requirements of a heterogeneous (e.g., with regards to varying resources) edge environment. The placement of functional parts of an application is a core component of runtime decisions. This problem is computationally hard and has been insufficiently explored for service chains whose topologies are typical for Edge Computing environments (e.g., with regards to the location of data sources and sinks). To this end, we present two classes of heuristics that make the problem more tractable. We implement representatives for each class and show how they substantially reduce the time it takes to find a solution to the placement problem, while introducing only a small optimality gap. The placement of data (e.g., such captured by mobile devices) in Edge Computing should take into account the user’s context and the possible intent of sharing this data. Especially in the case of overloaded networks, e.g., during large-scale events, edge infrastructure can be beneficial for data storage and local dissemination. To address this challenge, we propose vStore, a middleware that—based on a set of rules—decouples applications from pre-defined storage locations in the cloud. We report on results from a field study with a demonstration application, showing that we were able to reduce cloud storage in favor of proximate micro-storage at the edge. As a final contribution, we explore the adaptation possibilities of microservices themselves. We suggest to make microservices adaptable in three dimensions: (i) in the algorithms they use to perform a certain task, (ii) in their parameters, and (iii) in auxiliary data that is required. These adaptations can be leveraged to trade a faster execution time for a decreased quality of the computation (e.g., by producing more inaccurate or partly wrong results). We argue that this is an important building block to be included in an Edge Computing system in view of both constrained resources and strict requirements on computation latencies. We conceptualize an adaptable microservice execution framework and define the problem of choosing the service variant, building upon the design of our previously introduced Edge Computing runtime environment. For a case study, we implement representative examples (e.g., in the field of computer vision and image processing) and outline the practical influence of the abovementioned tradeoff. In conclusion, this dissertation systematically analyzes the field of Urban Edge Computing, thereby contributing to its general understanding. Our contributions provide several important building blocks for the realization of a public Edge Computing infrastructure in an urban environment.