The Personal Cloud - Design, Architecture and Matchmaking Algorithms for Resource Management

We introduce the notion of a Personal Cloud--a collection of Virtual Machines (VMs) running on unused computers at the edge. The Personal Cloud provides an ideal solution for the secure sharing of compute and storage resources across peers in a resource and application agnostic manner, and facilitates new computational paradigms such as datacenter-less, distributed virtual clouds. We provide and implement solutions for the challenges of managing a Personal Cloud, such as IP address sharing, bandwidth sharing and isolation from local home network traffic. We also propose and implement a provably optimal solution to the resource management problem, allowing peers to share VMs across their individual Personal Clouds by specifying their resource offers and requests, and verify its performance via detailed simulations.