Advancements in smart devices, wearable gadgets, sensors, and communication paradigm have enabled the vision of smart cities, pervasive healthcare, augmented reality and interactive multimedia, Internet of Every Thing (IoE), and cognitive assistance, to name a few. All of these visions have one thing in common, i.e., delay sensitivity and instant response. Various new technologies designed to work at the edge of the network, such as fog computing, cloudlets, mobile edge computing, and micro data centers have emerged in the near past. We use the name ``edge computing'' for this set of emerging technologies. Edge computing is a promising paradigm to offer the required computation and storage resources with minimal delays because of ``being near'' to the users or terminal devices. Edge computing aims to bring cloud resources and services at the edge of the network, as a middle layer between end user and cloud data centers, to offer prompt service response with minimal delay. Two major aims of edge computing can be denoted as: (a) minimize response delay by servicing the users’ request at the network edge instead of servicing it at far located cloud data centers, and (b) minimize downward and upward traffic volumes in the network core. Minimization of network core traffic inherently brings energy efficiency and data cost reductions. Downward network traffic can be minimized by servicing set of users at network edge instead of service provider's data centers (e.g., multimedia and shared data) Content Delivery Networks (CDNs), and upward traffic can be minimized by processing and filtering raw data (e.g., sensors monitored data) and uploading the processed information to cloud. This survey presents a detailed overview of potentials, trends, and challenges of edge computing. The survey illustrates a list of most significant applications and potentials in the area of edge computing. State of the art literature on edge computing domain is included in the survey to guide readers towards the current trends and future opportunities in the area of edge computing.
Cloud computing brought a technological revolution and paradigm shift in the Information and Communication Technology (ICT) sector in the last decade. Cloud computing experienced a massive adoption in almost every domain of human life . Data centers, the backbone and underlying resource architecture of cloud computing are constantly growing in size and number to meet the increasing resource demands . Technological advances in personal gadgets and wearable computing are enabling a new stream of real-time and pervasive applications, such as cognitive assistance, augmented reality, traffic monitoring, vehicular tracking, and interactive video streaming . Such applications demand real-time response, which is one of the major constraints in the cloud paradigm because of the delays from distant cloud data centers. As indicated in Fig. 1, a user‟s request to the cloud has to traverse multiple hops before reaching the cloud servers, thus increasing the response time. The proliferation of mobile devices, which are predicted to be more than 50 Billion devices by the year 2020, will produce massive amounts of data . Moreover, the ever increasing data rates from the Internet of Things (IoT) devices will impose further challenges on the cloud computing infrastructure. IoT is an emerging technology that extends Internet connection to devices embedded with sensors, actuators, and RFID tags . IoT devices collect sensory data from the surrounding environment with a requirement to provide scalable infrastructure to communicate, process, and store the data . The number of such devices will reach billions in the coming years, with a large number of sensors monitoring and flooding the network with dynamic real-time data. According to Cisco Global Cloud Index , by the year 2019, 500 zettabytes of data will be produced by people, machines, and things, and 2.3 trillion GBs of data will be produced every day in the year 2020 . IoT platforms demand low latency communication, need support for high degree of mobility, and real-time data analytics. Although cloud computing provides many benefits, the latency sensitive and data intensive IoT applications appear to be a challenge for current cloud computing system. The needs for real-time response and ever increasing data demands novel solutions. Edge computing (fogs, cloudlets, micro datacenters, and mobile edge computing) is emerging as a viable solution to these challenges, offering real-time response and near to end cloud services. Edge computing augments cloud computing by bringing networking and computational resources on edge devices near to the end user. An edge device can be a router, gateway, switch, or a base station, that provides an entry point into the service provider‟s core network. Edge devices are proposed to have sufficient computational and storage resources to meet real-time and resource intensive demands of end user. Generally, the edge computing platform comprises of a heterogeneous infrastructure of access points, switches, edge routers, servers, and end user devices. Compared to cloud computing, the edge provides low latency and reduced data traffic, as the applications are localized to the region where the edge is deployed.