  Edge computing has emerged as a distributed computing paradigm to overcome
practical scalability limits of cloud computing. The main principle of edge
computing is to leverage on computational resources outside of the cloud for
performing computations closer to data sources, avoiding unnecessary data
transfers to the cloud and enabling faster responses for clients.
  While this paradigm has been successfully employed to improve response times
in some contexts, mostly by having clients perform pre-processing and/or
filtering of data, or by leveraging on distributed caching infrastructures, we
argue that the combination of edge and cloud computing has the potential to
enable novel applications. However, to do so, some significant research
challenges have to be tackled by the computer science community. In this paper,
we discuss different edge resources and their potential use, motivated by
envisioned use cases. We then discuss concrete research challenges that are in
the critical path towards realizing our edge vision. We conclude by proposing a
research agenda to allow the full exploitation of the potential for the
emerging hybrid cloud/edge paradigm.
