  We propose Flock; a simple and scalable protocol that enables live migration
of Virtual Machines (VMs) across heterogeneous edge and conventional cloud
platforms to improve the responsiveness of cloud services. Flock is designed
with properties that are suitable for the use cases of the Internet of Things
(IoT). We describe the properties of regularized latency measurements that
Flock can use for asynchronous and autonomous migration decisions. Such
decisions allow communicating VMs to follow a flocking-like behavior that
consists of three simple rules: separation, alignment, and cohesion. Using game
theory, we derive analytical bounds on Flock's Price of Anarchy (PoA), and
prove that flocking VMs converge to a Nash Equilibrium while settling in the
best possible cloud platforms. We verify the effectiveness of Flock through
simulations and discuss how its generic objective can simply be tweaked to
achieve other objectives, such as cloud load balancing and energy consumption
minimization.
