IP Library Patent Application 12313989
Patent Application
App. No. 12/313,989

Proactive application workload management

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 None
App. No.
12/313,989
Abstract

A method is provided for continuous optimization of allocation of computing resources for a horizontally scalable application which has a cyclical load pattern wherein each cycle may be subdivided into a number of time slots. A computing resource allocation application pre-allocates computing resources at the beginning of a time slot based on a predicted computing resource consumption during that slot. During the servicing of the workload, a measuring application measures actual consumption of computing resources. On completion of servicing, the measuring application updates the predicted computing resource consumption profile, allowing optimal allocation of resources. Un-needed computing resources may be released, or may be marked as releasable, for use upon request by other applications, including applications having the same or lower priority than the original application. Methods, computer systems, and computer programs available as a download or on a computer-readable medium for installation according to the invention are provided.

Claims (49)

1 . In a computing system environment, a method for allocating computing resources, comprising:

before an application requires use of a pool of computing resources to service a workload, allocating at least a portion of the computing resources to the application according to a resource usage profile for the workload;

determining an amount of the computing resources used by the application in servicing the workload; and

updating the resource usage profile for the workload according to the determined amount of the computing resources used by the application to service the workload.

2 . The method of claim 1 , wherein the workload has a pattern which is cyclical over a predetermined time period.

3 . The method of claim 1 , including the further step of making allocated computing resources not required for servicing the workload available for use by one or more applications in need thereof.

4 . The method of claim 3 , wherein the computing resources not required for servicing the workload are released.

5 . The method of claim 3 , wherein at least a portion of the computing resources are marked as releasable in response to a request from one or more applications in need thereof.

6 . In a computing system environment, a method for continuous optimization of allocation of computing resources, comprising:

providing a plurality of servers hosting a pool of computing resources defined by virtual machines and a database comprising a predicted computing resource consumption profile for an application configured for servicing a workload during one or more time slots;

providing a computing resource allocation application;

providing a measuring application which measures actual consumption of computing resources required to service the workload;

prior to initiation of a time slot, causing the computing resource allocation application to pre-allocate computing resources to the application according to the predicted computing resource consumption profile for the workload during the time slot;

measuring actual consumption of computing resources during the servicing of the workload; and

updating the predicted computing resource consumption profile database according to the measured actual consumption of computing resources required by the application.

7 . The method of claim 6 , wherein the workload has a pattern which is cyclical over a predetermined time period.

8 . The method of claim 6 , wherein the computing resource allocation application allocates computing resources in response to a request from the application for servicing the workload.

9 . The method of claim 6 , including the further step of causing the computing resource allocation application to make pre-allocated computing resources not required for servicing the workload available for use by one or more applications in need thereof.

10 . The method of claim 9 , wherein the computing resource allocation application releases any pre-allocated computing resources not required to service the workload.

11 . The method of claim 9 , wherein the computing resource allocation application marks at least a portion of the pre-allocated computing resources as releasable in response to a request from one or more applications in need thereof.

12 . A computing system for continuously optimizing the allocation of computing resources, comprising:

a plurality of servers hosting a pool of computing resources defined by virtual machines and a database comprising a predicted computing resource consumption profile for an application configured for servicing a workload during one or more time slots;

a computing resource allocation application; and

a measuring application which measures actual consumption of computing resources required service the workload;

wherein the measuring application updates the predicted computing resource consumption profile database according to the measured actual consumption of computing resources by the application.

13 . The system of claim 12 , wherein the workload has a pattern which is cyclical over a predetermined time period.

14 . The system of claim 13 , wherein the computing resource allocation application, prior to initiation of a time slot, pre-allocates computing resources to the application according to the predicted computing resource consumption profile for the workload during the time slot.

15 . The system of claim 13 , wherein the computing resource allocation application is configured to make pre-allocated computing resources not required for servicing the workload available for use by one or more applications in need thereof.

16 . The system of claim 15 , wherein the computing resource allocation application releases any pre-allocated computing resources not required for servicing the workload.

17 . The system of claim 15 , wherein the computing resource allocation application is configured to mark at least a portion of the pre-allocated computing resources as releasable in response to a request from one or more applications in need thereof.

18 . A computer program product available as a download or on a computer-readable medium for installation with a computing device of a user, said computer program product comprising:

a database component for storing a predicted computing resource consumption profile for a computing application configured for servicing a workload at one or more time slots;

a computing resource allocation component which is configured to allocate computing resources, defined by virtual machines, from a pool of computing resources; and

a measuring application component which is configured to measure actual consumption of computing resources during servicing of the workload;

further wherein the measuring application component is configured to update the predicted computing resource consumption profile database component according to the measured actual consumption of computing resources by the application in servicing the workload.

19 . The computer program product of claim 18 , wherein the computing resource allocation component is configured to make pre-allocated computing resources not required for servicing the workload available for use by other applications.

20 . The computer program product of claim 19 , wherein the computing resource allocation component is configured to release pre-allocated computing resources not required for completion of the recurring computing task available for use by one or more applications in need thereof.

21 . The computer program product of claim 19 , wherein the computing resource allocation component is configured to mark at least a portion of the pre-allocated computing resources as releasable in response to a request from one or more applications in need thereof.

22 . A method for continuous optimization of allocation of computing resources, comprising:

providing a database comprising a predicted computing resource consumption profile for an application for servicing a workload at one or more time intervals;

pre-allocating computing resources defined by virtual machines, according to the predicted computing resource consumption profile;

measuring actual consumption of computing resources required to service the workload; and

updating the predicted computing resource consumption profile database according to the measured actual consumption of computing resources by the application.

23 . The method of claim 22 , wherein the workload has a pattern which is cyclical over a predetermined time period.

24 . The method of claim 22 , including the further step of making pre-allocated computing resources not required for servicing the workload available for use by one or more applications in need thereof.

25 . The method of claim 24 , wherein the pre-allocated computing resources not required to complete the recurring computing task are released.

26 . The method of claim 24 , wherein at least a portion of the pre-allocated computing resources not required to complete the recurring computing task are marked as releasable in response to a request from one or more applications in need thereof.

27 . The method of claim 22 , including the further step of providing a computing resource allocation application for pre-allocating computing resources and for making pre-allocated computing resources not required for servicing the workload available for use by one or more applications in need thereof.

28 . The method of claim 22 , including the further step of providing a measuring application for measuring actual consumption of computing resources required by the application to service the workload and for updating the predicted computing resource consumption profile database.

Assignments (13)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2009
From: SPIERS, ADAM Z; FRANKE, TILL; DE BAER, JOACHIM F.M.
To: NOVELL, INC.
Reel/Frame 022180/0644 →