The growing need for low-latency access to computing resources has motivated the introduction of edge computing, where resources are strategically placed at the access networks. Unfortunately, edge computing infrastructures like fogs and cloudlets have limited scalability and may be prohibitively expensive to install given the vast edge of the Internet. In this paper, we present Opportunistic Edge Computing (OEC), a new computing paradigm that provides a framework to create scalable infrastructures at the edge using end-user contributed resources. One of the goals of OEC is to place resources where there is high demand for them by incentivizing people to share their resources. This paper defines the OEC paradigm and the involved stakeholders and puts forward a management framework to build, manage and monitor scalable edge infrastructures. It also highlights the key differences between the OEC computing models and the existing computing models and shed the light on early works on the topic. The paper also presents preliminary experimental results that highlight the benefits and the limitations of OEC compared to the regular cloud computing deployment and the Fog deployment. It finally summarizes key research directions pertaining to resource management in OEC environments.
For effective use of edge computing in an IoT application, we need to partition the application into tasks and map them into the cloud, fog (edge server), device levels such that the resources at the different levels are optimally used to meet the overall quality of service requirements. In this paper, we consider four concerns about application-to-fog mapping: task placement at different levels, data filtering to limit network loading, fog fail-over, and data consistency, and reacting to hotspots at the edge. We describe a programming language and middleware we created for edge computing that addresses the above four concerns. The language has a distributednode programming model that allows programs to be written for a collection of nodes organized into a cloud, fog, device hierarchy. The paper describes the major design elements of the language and explains the prototype implementation. The unique distributed-node programming model embodied in the language enables new edgeoriented programming patterns that are highly suitable for cognitive or data-intensive edge computing workloads. The paper presents result from an initial evaluation of the language prototype and also a distributed shell and a smart parking app that were developed using the programming language.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.