IP Library Granted Patent US 8,201,182
Granted Patent B2
US 8,201,182 · App. 11/963,971 · Granted Jun 12, 2012

Method of managing workloads

Assignee: International Business Machines Corporation
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,201,182
App. No.
11/963,971
Granted
Jun 12, 2012
Kind
B2
Abstract

A method of managing software application workloads starts, on a machine, a software application from startup script. The startup script includes startup tasks. The machine includes an operating system. The operating system includes a kernel. The method requests an application group identifier from the kernel. The method associates the startup tasks with the application group identifier until the startup script ends. The method requests application group identifiers from the kernel. If said application group identifier is a workload, the method requests the kernel to aggregate usage data for the application group identifier. If the application group identifier is not a workload, the method determines a set of application group identifiers that comprise a work load, and requests the kernel to aggregate usage data for the set of application group identifiers. The method receives the aggregated usage data from the kernel, and uses the aggregated usage data to manage the workload.

Claims (51)

1. A method of managing software application workloads, the method comprising:

starting a software application from a startup script on a machine, said startup script including a set of startup tasks, said machine including an operating system, said operating system including a kernel;

receiving an application group identifier from said kernel;

associating each of said startup tasks with said application group identifier until said startup script ends;

associating the application group identifier with processes that are forked off during the running of the startup script;

requesting application group identifiers from said kernel at startup of workload management processing;

determining a correspondence between the application group identifiers returned from said kernel and one or more workloads;

if said application group identifier is equal to a workload, requesting said kernel to aggregate usage data for said application group identifier;

if said application group identifier is not equal to a workload, determining a set of application group identifiers that comprise a workload, and request said kernel to aggregate usage data for said set of application group identifiers, wherein the workload is identified by a set of application group identifiers when the application group identifier is not equal to a workload;

receiving said aggregated usage data from said kernel; and

processing the received aggregated usage data to manage said workload.

2. The method of claim 1 , wherein processing the received aggregated usage data to manage said workload comprises processing the received aggregated usage data to determine whether business goals for running mission-critical applications are being met.

3. The method of claim 1 , wherein processing the received aggregated usage data to manage said workload comprises processing the received aggregated usage data to determine whether system resources available are sufficient to meet the business demands.

4. The method of claim 1 , wherein processing the received aggregated usage data to manage said workload comprises processing the received aggregated usage data to identify bottlenecks and other performance related issues.

5. The method of claim 1 , further comprising providing a default aggregation wherein the workload management processing requests data for named processes or threads.

6. A method of managing software application workloads, the method comprising:

starting a software application from startup script on a machine, said startup script including a set of startup tasks, said machine including an operating system, said operating system having a kernel;

receiving an application group identifier from said kernel;

associating each of said startup tasks with said application group identifier until said startup script ends;

associating the application group identifier with processes that are forked off during the running of the startup script; and

managing workloads on the machine using the application group identifier, wherein a workload is identified by a set of application group identifiers when the application group identifier is not equal to a workload, wherein said managing workloads includes:

requesting application group identifiers from said kernel at startup of workload management processing;

determining a correspondence between the application group identifiers returned from said kernel and one or more workloads; and

if said application group identifier is equal to a workload, requesting said kernel to aggregate usage data for said application group identifier.

7. The method as claimed in claim 6 , further comprising:

receiving said aggregated usage data from said kernel; and

processing said aggregated usage data to manage said workload, wherein processing the received aggregated usage data to manage said workload comprises at least one of processing the received aggregated usage data to determine whether business goals for running mission-critical applications are being met; processing the received aggregated usage data to determine whether system resources available are sufficient to meet the business demands; and processing the received aggregated usage data to identify bottlenecks and other performance related issues.

8. The method as claimed in claim 6 , further comprising:

if said application group identifier is not equal to a workload, determining a set of application group identifiers that comprise a workload, and requesting said kernel to aggregate usage data for said set of application group identifiers.

9. The method as claimed in claim 8 , further comprising:

receiving said aggregated usage data from said kernel; and

processing said aggregated usage data to manage said workload.

10. The method of claim 9 , wherein processing the received aggregated usage data to manage said workload comprises processing the received aggregated usage data to determine whether business goals for running mission-critical applications are being met.

11. The method of claim 9 , wherein processing the received aggregated usage data to manage said workload comprises processing the received aggregated usage data to determine whether system resources available are sufficient to meet the business demands.

12. The method of claim 9 , wherein processing the received aggregated usage data to manage said workload comprises processing the received aggregated usage data to identify bottlenecks and other performance related issues.

13. The method of claim 6 , further comprising providing a default aggregation wherein the workload management processing requests data for named processes or threads.

14. A machine comprising a central processing unit, a memory, an operating system that includes a kernel and workload management software, wherein the OS and workload management software both execute on the CPU to:

start a software application from a startup script on the machine, said startup script including a set of startup tasks;

receive an application group identifier from said kernel;

associate each of said startup tasks with said application group identifier until said startup script ends;

associate the application group identifier with processes that are forked off during the running of the startup script;

request application group identifiers from said kernel at startup of workload management processing;

determine a correspondence between the application group identifiers returned from said kernel and one or more workloads;

if said application group identifier is equal to a workload, request said kernel to aggregate usage data for said application group identifier;

if said application group identifier is not equal to a workload, determine a set of application group identifiers that comprise a workload, and request said kernel to aggregate usage data for said set of application group identifiers, wherein the workload is identified by a set of application group identifiers when the application group identifier is not equal to a workload;

receive said aggregated usage data from said kernel; and

process the received aggregated usage data to manage said workload.

15. The machine of claim 14 , wherein processing the received aggregated usage data to manage said workload comprises processing the received aggregated usage data to determine whether business goals for running mission-critical applications are being met.

16. The machine of claim 14 , wherein processing the received aggregated usage data to manage said workload comprises processing the received aggregated usage data to determine whether system resources available are sufficient to meet the business demands.

17. The machine of claim 14 , wherein processing the received aggregated usage data to manage said workload comprises processing the received aggregated usage data to identify bottlenecks and other performance related issues.

18. The machine of claim 14 , the workload management software further executing on the CPU to provide a default aggregation wherein the workload management processing requests data for named processes or threads.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2016
From: MIDWAY TECHNOLOGY COMPANY LLC
To: SERVICENOW, INC.
Reel/Frame 038324/0816 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MIDWAY TECHNOLOGY COMPANY LLC
Reel/Frame 037704/0257 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2008
From: KASHYAP, VIVEK; SEETHARAMAN, CHANDRA S.; SHAROFF, NARASIMHA N.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020543/0657 →
Continuity (1)
Related Publication 20090164633A1 · Jun 25, 2009