1. A computer system for increasing the computational ability of a mobile device, the system comprising: a memory, storing computer executable instructions; and a processor operatively coupled to said memory and configured to execute the instructions to perform the following steps: receive hardware specifications of a mobile device; initialize one or more virtual machines corresponding to the mobile device and the hardware specifications; assign a unique identifier for each virtual machine; load a backup of the mobile device onto the one or more virtual machines, the backup comprising at least one computer program and data; and execute the computer program on one of the virtual machines, wherein the status of the computer program is monitored by the manager module.