IP Library Granted Patent US 8,438,430
Granted Patent B2
US 8,438,430 · App. 12/196,073 · Granted May 7, 2013

Resource management system and apparatus

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,438,430
App. No.
12/196,073
Granted
May 7, 2013
Kind
B2
Abstract

A computer implemented method for efficiently allocating resources for an enterprise server system through a proportional integral derivative scheme is provided. The method includes defining a set point parameter for a resource being allocated and defining a proportional gain parameter, a proportional integral (PI) gain parameter and a proportional integral derivative (PID) gain parameter in terms of the proportional gain parameter. The method further includes calculating an initial maximum allocation for the resource based on a product of the proportional gain parameter with a difference of an initial operating parameter and the set point parameter and adjusting the initial operating parameter to the initial maximum allocation. A next allocation of the resource is calculated based on a product of the proportional gain parameter with the difference of an initial operating parameter and the set point parameter and a difference of the set point with a current operating parameter. The initial maximum allocation is adjusted with a next allocation.

Claims (37)

1. A computer implemented method of controlling running of tasks using resources of a computing system comprising:

determining a set point for utilization of at least one resource of the computing system in running the tasks, the set point being less than full allocation of the at least one resource;

using a proportional-integral-derivative (PID) controller in determining whether the utilization of the at least one resource exceeds the set point;

in response to a determination that the utilization does not exceed the set point, enabling a task to run on the computing system; and

in response to a determination that the utilization exceeds the set point, delaying scheduling of running of tasks.

2. The method of claim 1 wherein the tasks are specific to a particular application, such that determining the set point includes selecting a maximum allocation of the at least one resource in execution of the particular application while enabling other applications to employ the remaining utilization for execution of other applications.

3. The method of claim 2 wherein the particular application is an update manager for providing updates to the computing system.

4. The method of claim 1 wherein using the PID controller includes providing a module at an entry point of the tasks to be run.

5. The method of claim 1 wherein using the PID controller includes establishing a proportional gain, an integral gain and a derivative gain, and further includes summing the proportional, integral and derivative gains to determine provide a control output for controlling scheduling of the running of the tasks.

6. The method of claim 1 wherein the PID controller is specific to scheduling tasks for a virtualization host server.

7. A non-transitory computer readable storage medium having program instructions for scheduling tasks using resources of a computing system, the program instructions being executable to provide processing comprising:

establishing a set point for utilization of at least one resource of the computing system in running the tasks, the set point being less than full allocation of the at least one resource;

using a proportional-integral-derivative (PID) controller in determining whether the utilization of the at least one resource exceeds the set point;

in response to a determination that the utilization does not exceed the set point, enabling a task to run on the computing system; and

in response to a determination that the utilization exceeds the set point, delaying scheduling of running of tasks.

8. The non-transitory computer readable storage medium of claim 7 wherein the tasks are specific to a particular application, such that determining the set point includes selecting a maximum allocation of the at least one resource in execution of the particular application while enabling other applications to employ the remaining utilization for execution of other applications.

9. The non-transitory computer readable storage medium of claim 8 wherein the particular application is an update manager for providing updates to the computing system.

10. The non-transitory computer readable storage medium of claim 7 wherein using the PID controller includes providing a module at an entry point of the tasks to be run.

11. The non-transitory computer readable storage medium of claim 7 wherein using the PID controller includes establishing a proportional gain, an integral gain and a derivative gain, and further includes summing the proportional, integral and derivative gains to determine provide a control output for controlling scheduling of the running of the tasks.

12. The non-transitory computer readable storage medium of claim 7 wherein the PID controller is specific to scheduling tasks for a virtualization host server.

13. A computer implemented method for allocating resources among servers of a system, comprising:

specifying a proportional gain parameter at a first time interval;

determining a first control error at the first time interval;

allocating a resource of the enterprise system corresponding to a product of the proportional gain parameter and the first control error;

determining an integral gain parameter at a second time interval;

determining a second control error at the second time interval;

determining a control output considering a product of the proportional gain parameter and the first control error, and a product of the integral gain parameter and the second control error;

adjusting the resource allocation based on the control output;

determining a third control error at a third time interval; and

adjusting the resource allocation based on another control output considering the third control error;

wherein the another control output is determined by summing 1) a product of a derivative gain parameter with the first control error, the second control error, and a third control error with 2) the second control error.

14. The method of claim 13 , wherein the second control error and the third control error include data from a previous time interval.

15. The method of claim 13 , further comprising:

sampling a process variable at successive time intervals; and

continuing the determining of a next control error for each of the successive time intervals.

16. The method of claim 15 , further comprising:

continuing to adjust the resource allocation for each successive time interval.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2008
From: LIAN, XIAOJUN; KAMBO, RAJIT
To: VMWARE, INC.
Reel/Frame 021425/0591 →