  Computation offloading is often used in mobile cloud, edge, and/or fog
computing to cope with resource limitations of mobile devices in terms of
computational power, storage, and energy. Computation offloading is
particularly challenging in situations where network connectivity is
intermittent or error-prone. In this paper, we present OPPLOAD, a novel
framework for offloading computational workflows in opportunistic networks. The
individual tasks forming a workflow can be assigned to particular remote
execution platforms (workers) either preselected ahead of time or decided just
in time where a matching worker will automatically be assigned for the next
task. Tasks are only assigned to capable workers that announce their
capabilities. Furthermore, tasks of a workflow can be executed on multiple
workers that are automatically selected to balance the load. Our Python
implementation of OPPLOAD is publicly available as open source software. The
results of our experimental evaluation demonstrate the feasibility of our
approach.
