Virtual Appliances (VAs) are Virtual Machines (VMs) geared towards a specific set of tasks. They require little or no configuration, working out-of-the-box. VAs fit neatly into the Cloud Computing paradigm - many copies of an identical machine can be launched in a data center, or home/business users can grab the appliance they need from the cloud to run locally just for so long as required. Companies and projects whose sole offerings are VAs ready for either desktop or data center use [3, 11] attest to the growing popularity of VAs. VMware's Appliance directory alone currently lists over 1400 VAs available for the VMware family of Virtual Machine Monitors (VMMs) [13].
Current VA distribution generally requires download of the complete virtual disk image, only after which the VA can be run. Given that compressed VA sizes run anywhere from several hundred MB to a few GB, there can be significant delays from the time a user decides he/she wants to run a particular VA until the time that VA can be used. These problems are only exacerbated when demand for particular VAs spikes and server bandwidth resources become the distribution bottleneck.
[1]
Chris M. O'Donnell.
Using BitTorrent to distribute virtual machine images for classes
,
2008,
SIGUCCS '08.
[2]
Mahadev Satyanarayanan,et al.
Internet suspend/resume
,
2002,
Proceedings Fourth IEEE Workshop on Mobile Computing Systems and Applications.
[3]
Eyal de Lara,et al.
SnowFlock: rapid virtual machine cloning for cloud computing
,
2009,
EuroSys '09.
[4]
A. Kivity,et al.
kvm : the Linux Virtual Machine Monitor
,
2007
.
[5]
Xiaoling Wang,et al.
Portable Desktop Applications Based on P2P Transportation and Virtualization
,
2008,
LISA.
[6]
Cheng Huang,et al.
Challenges, design and analysis of a large-scale p2p-vod system
,
2008,
SIGCOMM '08.
[7]
Monica S. Lam,et al.
The collective: a cache-based system management architecture
,
2005,
NSDI.