IP Library Granted Patent US 7,536,461
Granted Patent B2
US 7,536,461 · App. 11/186,607 · Granted May 19, 2009

Server resource allocation based on averaged server utilization and server power management

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 7,536,461
App. No.
11/186,607
Granted
May 19, 2009
Kind
B2
Abstract

A method, apparatus, system, and signal-bearing medium that, in an embodiment, calculate the average number of servers that executed an application in a previous time period, decide whether the current number of servers that execute the application is less than the average number of servers, and, if so, power on the average number of servers. The application is then distributed across the average number of servers. In an embodiment, the server is powered on by increasing the clock speed of the processors associated with the servers. In an embodiment, a determination is periodically made whether the response time of the application is greater than a threshold, and, if so, the servers are powered on and the application is distributed across the servers. In an embodiment, a determination is periodically made whether the response time of the application is less than a threshold, and, if so, servers are powered off and the application is distributed across the remaining servers.

Claims (55)

1. A computer-implemented method comprising:

calculating an average number of servers that executed an application in a previous time period;

deciding whether a current number of the servers that execute the application is less than the average number of the servers, wherein said average number includes non-integers;

powering on an additional number of the servers if the current number of the servers that execute the application is less than the average number of the servers that executed the application in the previous time period, wherein the current number of the servers plus the additional number of the servers yields the average number of the servers; and

refraining from powering on the additional number of servers if the current number of the servers that execute the application is not less than the average number of the servers.

2. The computer-implemented method of claim 1 , further comprising:

distributing the application across the average number of servers if the deciding is true.

3. The computer-implemented method of claim 1 , further comprising:

increasing the clock speed of processors associated with the servers if the current number of the servers that execute the application is less than the average number of the servers that executed the application in the previous time period.

4. The computer-implemented method of claim 1 , further comprising:

periodically determining if a response time of the application is greater than a threshold; and

powering on first numbers of the servers if the periodically determining is true.

5. The computer-implemented method of claim 4 , further comprising:

distributing the application across the first numbers of servers.

6. The computer-implemented method of claim 4 , wherein the calculating further comprises:

calculating the average number based on the first numbers.

7. The computer-implemented method of claim 1 , further comprising:

periodically determining if a response time of the application is less than a threshold;

powering off first numbers of the servers if the periodically determining is true; and

distributing the application across the servers that remain powered on.

8. A storage medium comprising instructions, wherein the instructions when executed comprise:

calculating an average number of servers that executed an application in a previous time period;

deciding whether a current number of the servers that execute the application is less than the average number of the servers, wherein said average number includes non-integers;

powering on an additional number of the servers if the current number of the servers that execute the application is less than the average number of the servers that executed the application in the previous time period, wherein the current number of the servers plus the additional number of the servers yields the average number of the servers; and

refraining from powering on the additional number of servers if the current number of the servers that execute the application is not less than the average number of the servers.

9. The storage medium of claim 8 , further comprising:

distributing the application across the average number of servers if the deciding is true.

10. The storage medium of claim 8 , further comprising:

increasing the clock speed of processors associated with the servers if the current number of the servers that execute the application is less than the average number of the servers that executed the application in then previous time period.

11. The storage medium of claim 8 , further comprising:

periodically determining if a response time of the application is greater than a threshold; and

powering on first numbers of the servers if the periodically determining is true.

12. The storage medium of claim 11 , further comprising:

distributing the application across the first numbers of servers.

13. The storage medium of claim 11 , wherein the calculating further comprises:

calculating the average number based on the first numbers.

14. The storage medium of claim 8 , wherein the calculating further comprises:

periodically determining if a response time of the application is less than a threshold; and

powering off first numbers of the servers if the periodically determining is true.

15. A computer-implemented method for configuring a computer, wherein the method comprises:

configuring the computer to calculate an average number of servers that executed an application in a previous time period;

configuring the computer to decide whether a current number of the servers that execute the application is less than the average number of the servers, wherein said average number includes non-intergers;

configuring the computer to power on an additional number of the servers if the current number of the servers that execute the application is less than the average number of the servers that executed the application in the previous time period, wherein the current number of the servers plus the additional number of the servers yields the average number of the servers; and

refraining from powering on the additional number of servers if the current number of the servers that execute the application is not less than the average number of the servers.

16. The computer-implemented method of claim 15 , further comprising:

configuring the computer to distribute the application across the average number of servers if the deciding is true.

17. The computer-implemented method of claim 15 , further comprising:

configuring the computer to increase the clock speed of processors associated with the servers if the current number of the servers that execute the application is less than the average number of the servers that executed the application in the previous time period.

18. The computer-implemented method of claim 15 , further comprising:

configuring the computer to periodically determine if a response time of the application is greater than a threshold; and

configuring the computer to power on first numbers of the servers if the periodically determining is true.

19. The computer-implemented method of claim 18 , further comprising:

configuring the computer to distribute the application across the first numbers of servers.

20. The computer-implemented method of claim 18 , wherein the configuring the computer to calculate further comprises:

configuring the computer to calculate the average number based on the first numbers.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2005
From: STECHER, JOHN J.; WISNIEWSKI, ROBERT E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016603/0690 →