Patent ID: 9749207
Date: 2017-08-29
CPC Classifications: G06F,H04L

Claim:
1. A method for determining CPU utilization in a cloud data center without directly accessing CPU usage monitor, the method comprising: dynamically provisioning a first virtual machine servicing a client device communicably coupled to the first virtual machine for determining a utilization of a physical CPU, the first virtual machine hosted on a first physical machine corresponding to the physical CPU in the cloud data center, and the first physical machine hosting a plurality of additional virtual machines; monitoring, from within the first virtual machine and by a hardware performance counter implemented on the first physical machine, a number of non-halted processing cycles of the physical CPU for a period of time, wherein the monitoring comprises launching, from the first virtual machine, a kernel driver configured to program and read the hardware performance counter; determining, by the hardware performance counter, a total number of elapsed cycles for the period of time; deriving, by the hardware performance counter, the utilization of the physical CPU by calculating a ratio of the number of non-halted processing cycles to the total number of elapsed cycles for the period of time as a percentage; receiving, from the client device, a request to transfer a service provided by the first virtual machine from the first virtual machine to a second virtual machine hosted on a second physical machine in the cloud data center based on the utilization of the physical CPU to improve a quality of the service, the second physical machine being a less burdened machine than the first physical machine; and in response to receiving the request, transferring the service from the first virtual machine hosted on the first physical machine to the second virtual machine hosted on the second physical machine in the cloud data center.