Patent ID: 9645842
Date: 2017-05-09
CPC Classifications: G06F,Y02D

Claim:
1. An apparatus comprising: a computer system having a processor, memory and network interface, wherein said computer system is adapted to perform operations online over a computer network through the network interface and offline off of the computer network; a virtual machine (VM) base image database integral with said computer system; a VM image generator integral with said computer system and communicatively coupled to the VM base image database, wherein the VM image generator is configured to generate permutations offline of different software stacks to build in the VM base image database a corpus of possible VMs which are capable of running on a cloud service provider; an energy profiler integral with said computer system and communicatively coupled to the VM base image database, wherein the energy profiler is configured to generate energy profiles offline of each permutation in the VM base image database under different operating conditions; an energy profile database integral with said computer system and communicatively coupled to the energy profiler, wherein the energy profile database is populated with the energy profiles generated by the energy profiler, and wherein the energy profile database is configured such that it is only accessible to components that reside below a VM level and is not accessible to entities in a cloud environment; and a monitor integral with said computer system and configured to monitor side-channel energy patterns at the VM level and to compare, for each VM operating on the cloud service provider, the energy pattern of the operating VM with the operating VMs corresponding energy profiles stored in the energy profile database, and further configured to trigger a self-cleansing cycle every t minutes, wherein t is a finite period of time greater than two, and to trigger the self-cleansing cycle when a given real-time energy pattern deviates from all of its corresponding energy profiles by a predetermined threshold amount.