  A key challenge in wide adoption of sophisticated context-aware applications
is the requirement of continuous sensing and context computing. This paper
presents Panorama, a middleware that identifies collaboration opportunities to
offload context computing tasks to nearby mobile devices as well as
cloudlets/cloud. At the heart of Panorama is a multi-objective optimizer that
takes into account different constraints such as access cost, computation
capability, access latency, energy consumption and data privacy, and
efficiently computes a collaboration plan optimized simultaneously for
different objectives such as minimizing cost, energy and/or execution time.
Panorama provides support for discovering nearby devices and cloudlets/cloud,
computing an optimal collaboration plan, distributing computation to
participating devices, and getting the results back. The paper provides an
extensive evaluation of Panorama via two representative context monitoring
applications over a set of Android devices and a cloudlet/cloud under different
constraints.
