US Patent “GRANT” – Dynamic VM IOps Control Based on Application I/O Profiling & VM I/O Usage Trend Analysis /cc @DuncanYB Many of you have asked me to publish the work that we have done in our patent(s). However, as you all know that due to legal boundaries we are not suppose to discuss about it outside. This is true until US PTO publish it or grant it. I am very excited to announce that our first ever patent got a “Grant” in US PTO and published now externally. Here is the link for it where you can see what we have done. In short here is the problem statement which was what we tried to solve.
Brief Description of the Problem
Controlling the dynamic allocation of resources in distributed systems has been a long-standing challenge. Virtualized environments introduce further challenges because of the inherent sharing of physical resources by multiple virtual machines. Existing software applications have provided ways to manage shared physical resources, such as CPU and memory, for the virtualized environments and to prioritise their use among all the virtual machines in the virtualized environments. CPU and memory controls have worked well since the memory and CPU resources are shared only at a local-host level for virtual machines residing within a single VM host server.
However, the task of regulating shared resources that span multiple VM host servers, such as shared datastores, presents new challenges since these resources are accessed in a distributed manner by multiple VM host servers. Conventional approaches to share disk storage do not address this challenge, as the shares and limits were enforced only at a single VM host server level, and were only enforced in response to host-side host-bus-adaptor (HBA) bottlenecks, which occur rarely. These approaches have the problem of potentially allowing lower-priority virtual machines to have greater access to storage resources based on their placement across different VM host severs.
The present invention relates to controlling IO Performance of VMs, more particularly, to the systems and methods for dynamically controlling IO performance of VM based on IO profiles and usage trends of the VMs.