The Internet of Things (IoT) aims at providing things in the world with Internet connectivity.
The goal is to facilitate communication among such IoT devices in addition to accessing and/or controlling
them as needed. IoT devices are typically smart devices with constrained resources. Accordingly, computation
ofoading from such clients to more powerful servers is anticipated. Mobile cloud computing
was rst proposed for computation ofoading from mobile devices, especially smartphones, to the cloud.
Nevertheless, this scenario proved to be unsuitable for latency-sensitive applications such as multimedia
applications due to the relatively long distance between the mobile clients and the cloud data centers.
Accordingly, cloudlets and mobile clouds, which are ideally located at the edge of the Internet within one hop
from mobile clients have been proposed as alternative solutions. Recently, other forms of edge computing
such as micro and nano data centers, mini and micro clouds, fog computing, and mobile edge computing
have also been proposed for both mobile and IoT devices. In this paper, we formulate ofoading in the
IoT as a decision problem concerned with what, where, who, when/why, and how to ofoad. Accordingly,
we present the W5 framework, which takes those factors into consideration, and so can be used as a
reference model to guide researchers in this area. As an example, we developed a client-based agent for three
computation ofoading scenarios among constrained smartphones in the IoT. Through detailed discussion
and an extensive set of experiments, we attempt to answer the above wh-questions.