Cloudlet-Based Cyber-Foraging in Resource-Limited Environments

Cloudlet-Based Cyber-Foraging in Resource-Limited Environments

Grace A. Lewis (Carnegie Mellon Software Engineering Institute, USA), Sebastián Echeverría (Carnegie Mellon Software Engineering Institute, USA), Soumya Simanta (Carnegie Mellon Software Engineering Institute, USA), James Root (Carnegie Mellon Software Engineering Institute, USA) and Ben Bradshaw (Carnegie Mellon Software Engineering Institute, USA)
Copyright: © 2015 |Pages: 30
DOI: 10.4018/978-1-4666-8213-9.ch003


First responders and others operating in crisis environments increasingly make use of handheld devices to help with tasks such as face recognition, language translation, decision making, and mission planning. These resource-limited environments are characterized by dynamic context, limited computing resources, high levels of stress, and intermittent network connectivity. Cyber-foraging is the leverage of external resource-rich surrogates to augment the capabilities of resource-limited devices. In cloudlet-based cyber-foraging, resource-intensive computation is offloaded to cloudlets: discoverable, generic servers located in single-hop proximity of mobile devices. This chapter presents several mechanisms for cloudlet-based cyber-foraging that consider a tradeoff space beyond energy, performance, and fidelity of results. It demonstrates that cyber-foraging in resource-limited environments can greatly benefit from moving cloud computing concepts and technologies closer to the edge so that surrogates, even if disconnected from the enterprise, can provide offload capabilities that enhance the computing power of mobile devices.
Chapter Preview

Multiple cyber-foraging systems have been developed that differ in terms of the strategy that they use to leverage remote resources — where to offload, when to offload, and what to offload.

Where to offload varies between remote clouds (Kosta, Aucinas, Hui, Mortier, & Zhang, 2012), local servers located in proximity of mobile devices (often called surrogates; Satyanarayanan et al., 2009), or local servers that are connected to remote clouds for provisioning (Xiao, Simoens, Pillai, Ha, & Satyanarayanan, 2013) or as intermediaries to the cloud (Rahimi, Venkatasubramanian, Mehrotra, & Vasilakos, 2012).

When to offload varies between a runtime decision or an “always offload” strategy. To support runtime offload decisions, one strategy is to manually or automatically partition code into portions that either run on the mobile device or on a remote machine. At runtime an optimization engine — typically targeted at optimizing energy efficiency, performance, or network usage — decides whether the code should execute locally or be offloaded to a remote machine. An example of such a cyber-foraging system is MAUI (Cuervo et al., 2010). CloneCloud (Chun, Ihm, Maniatis, Naik, & Patti, 2011) follows the same code partitioning principle but automatically partitions code at the process level without the need for manual code annotation. Other cyber-foraging solutions assume that the computation-intensive code exists in a remote machine and the cyber-foraging task therefore becomes one of service discovery and composition. ThinAV (Jarabek, Barrera, & Aycock, 2012) is an example of this “always offload” strategy.

What to offload involves the most variation, ranging from processes (Chun et al., 2011), to methods (Cuervo et al., 2010), to modules (Iyer & Roopa, 2012), to services (Jarabek, Barrera, & Aycock, 2012), to full applications (Satyanarayanan et al., 2009), with other options in between.

Complete Chapter List

Search this Book: