Commercial cloud providers offer computational services via co-located machines within data centres, whereas private clouds typically offer services via a set of dedicated servers. While both cloud models appeal to the mass market, there exists a long tail of potential cloud users that are unable to take advantage of either public or private cloud computing. Organizations with policy, monetary or application constraints may not be able to migrate to the commercial cloud and combined with the inability to procure and manage an internal private cloud, organizations cannot take advantage of cloud computing which may stifle their ability to grow and operate more efficiently.
To address such problems we aim to create an ad hoc cloud computing framework which deploys ad hoc clouds on top of existing organizational infrastructures. Ad hoc clouds harvest resources from non-exclusive organizational hosts — machines used for everyday business, e.g. employees’ workstations — and allows them to be used by others. In particular, within an ad hoc cloud, we create a set of cloudlets; we define a cloudlet as set of connected ad hoc guests that provide a particular service or execution environment.
Many cloudlets may exist and can be deployed over multiple organizational hosts to provide a unique service to the organization's employees. In the diagram above, cloudlet `1' and `2' may hold the necessary environments for Matlab and BLAST applications to execute respectively. These applications execute on ad hoc guests; virtual machines that contain the application environment necessary and execute on organizational hosts. Note that cloudlet members are likely to be distributed across an organization and not co-located as depicted above. However, an ad hoc guest may either be dedicated to a single cloudlet or attached to many cloudlets to steal unused CPU cycles or other resources from the underlying organizational host.
This computational model of stealing CPU cycles is employed by volunteer computing systems such as the Berkeley Open Infrastructure for Network Computing (BOINC) and Condor however an ad hoc framework has different aims. Firstly, the ad hoc framework aims to target more diverse applications as opposed to typical CPU intensive applications commonly executed by volunteer computing frameworks. Secondly, it aims to be perceived as a cloud computing framework and offer the advantages associated with cloud computing to organizations. While being different from volunteer computing systems, the requirements of ad hoc cloud computing also differ when compared to commercial and private cloud models where machines are dedicated for a single purpose.
Hence the objective of this research is to determine the feasibility, cost effectiveness and performance of ad hoc cloud computing infrastructures deployed over organizational infrastructures. We specifically investigate:
* how to introduce reliability upon a volunteer network to ensure the continuity of cloud jobs over a set of ad hoc hosts. We solve this by employing a P2P virtualization snapshot mechanism where snapshots are periodically transferred to select hosts within the network. A snapshot can be restored when a particular host terminates to limit the downtime of a single cloud job.
* how to minimize the interference from cloud jobs on organizational processes executing upon ad hoc hosts. We solve this by employing virtualization and dynamically adjusting the amount of resources the virtual machine is able to consume.
* how to schedule cloud jobs to optimal ad hoc hosts. We perform this based on a job’s characteristics, host availability, capability, load and reliability.
* how to dynamically monitor and control ad hoc hosts. This is performed using our C2MS tool; a dynamic monitoring and control mechanism called the Cloudlet Control and Management System (C2MS) to allow continued monitoring and control for dynamic nodes which may enter and leave defined groups, or cloudlets.
* the difference in cost and performance of ad hoc cloud computing compared to private and public cloud infrastructures.
The foundation of our ad hoc cloud computing approach our V-BOINC solution.