IP Library Granted Patent US 10,643,193
Granted Patent B2
US 10,643,193 · App. 15/151,127 · Granted May 5, 2020

Dynamic workload capping

Inventors: Phat Tran (San Jose, CA); Edward Williams (North Las Vegas, NV); Hemanth Rama (Fremont, CA); Robert Perini (Ashburn, VA); Steven Degrange (Saratoga, CA)
Assignee: BMC SOFTWARE, INC.
G06Q20/145G06F9/5005G06F9/5077G06Q30/04G06F2209/504Y02D10/22
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 10,643,193
App. No.
15/151,127
Granted
May 5, 2020
Kind
B2
Abstract

A mainframe computing system includes a central processor complex, and a plurality of billing entities, each billing entity having a respective capacity limit, and a workload manager that schedules work requested by the plurality of billing entities on the central processor complex and tracks, by billing entity, a rolling average of service units. The mainframe computing system also includes a dynamic capping policy for the central processor complex that identifies a maximum service unit limit, a subset of the plurality of billing entities, and, for each identified billing entity, information from which to determine a service unit entitlement value. The mainframe computing system also includes a dynamic capping master that adjusts the respective capacity limits of the subset of the plurality of billing entities at scheduled intervals based on the dynamic capping policy to favor billing entities having high-importance workload within the maximum service unit limit.

Claims (71)

1. A mainframe computing system comprising:

a central processor complex;

at least two SYSPLEXes, each SYSPLEX having a plurality of billing entities, a billing entity being at least one logical partition of the mainframe computing system, each billing entity having a respective capacity limit;

a workload manager for each SYSPLEX that schedules work requested by the plurality of billing entities on the central processor complex and tracks, by billing entity, a rolling average of service units;

a dynamic capping policy for the central processor complex stored in non-transitory memory, the dynamic capping policy identifying:

a subset of the plurality of billing entities, wherein the subset includes a billing entity from a first SYSPLEX of the at least two SYSPLEXes and a billing entity from a second SYSPLEX of the at least two SYSPLEXes,

a maximum service unit limit for the dynamic capping policy, and

for each identified billing entity, a proportion of the maximum service unit limit from which to determine a service unit entitlement value; and

a dynamic capping master that adjusts the respective capacity limits of the subset of the plurality of billing entities across the at least two SYSPLEXes within the maximum service unit limit at scheduled intervals based on the dynamic capping policy to favor billing entities having high-importance workload within the maximum service unit limit.

2. The mainframe computing system of claim 1 , wherein the dynamic capping policy further identifies, for each SYSPLEX, importance criteria.

3. The mainframe computing system of claim 1 , wherein adjusting the respective capacity limits includes:

determining a pool of service units that can be shared, the pool of service units that can be shared representing service units from billing entities that have respective rolling averages that are less than respective service unit entitlement values, the pool including service units from the first SYSPLEX and the second SYSPLEX;

determining a favored billing entity of the subset of billing entities that has a rolling average greater than its respective service unit entitlement value and lowest low-importance workload percentage; and

adjusting the capacity limit for the favored billing entity above the service unit entitlement value using service units from the pool of service units.

4. The mainframe computing system of claim 3 , wherein the capacity limit for a billing entity that has a rolling average less than the service unit entitlement value is set to the rolling average plus a buffer value and the difference between the capacity limit and the service unit entitlement value is added to the pool of service units.

5. The mainframe computing system of claim 3 , wherein determining the favored billing entity includes:

determining, using low-importance workload, a SYSPLEX favored billing entity for each SYSPLEX; and

determining, from among the SYSPLEX favored billing entities, a favored entity that has a highest priority.

6. The mainframe computing system of claim 1 , wherein service unit entitlement value for a billing entity is calculated by dividing the proportion for the billing entity by a sum of the respective proportions and multiplying the result by the maximum service unit limit.

7. The mainframe computing system of claim 1 , wherein the first SYSPLEX and the second SYSPLEX are located on different physical machines.

8. The mainframe computing system of claim 1 , wherein the dynamic capping policy further identifies, for each identified billing entity, a priority and wherein workload policies differ between the at least two SYSPLEXes and adjusting the respective capacity limits across the at least two SYSPLEXes includes:

determining, using low-importance workload, a SYSPLEX favored billing entity for each SYSPLEX;

determining, from among the SYSPLEX favored billing entities, a favored entity that has a highest priority; and

adjusting the capacity limit for the favored entity above the service unit entitlement value using a pool of service units.

9. The mainframe computing system of claim 1 , wherein adjusting the respective capacity limits includes:

determining a pool of service units that can be shared, the pool including service units from the first SYSPLEX and the second SYSPLEX;

determining a pool of billing entities, where a billing entity in the pool of billing entities has a rolling average greater than its service unit entitlement value;

calculating a low-workload percentage for each billing entity in the pool of billing entities;

selecting a favored billing entity from the pool of billing entities, wherein the favored billing entity has a highest priority among billing entities with a lowest low-workload percentage on each SYSPLEX; and

adjusting, using the pool of service units, the capacity limit for the favored billing entity above the service unit entitlement value for the favored billing entity.

10. A method of adjusting capacity limits for billing entities identified in a dynamic capping policy on a mainframe, the dynamic capping policy identifying billing entities from at least two SYSPLEXes and including information from which to determine a service unit entitlement value for each billing entity identified in the policy, and each billing entity being at least one logical partition of the mainframe or a group of logical partitions, the method comprising:

determining a pool of service units from billing entities that have respective rolling averages under respective service unit entitlement values;

determining a pool of billing entities that have respective rolling averages above respective service unit entitlement values, each billing entity in the pool having a priority assigned;

determining, from the pool of billing entities, a favored billing entity;

adjusting the capacity limit for the favored billing entity above the service unit entitlement value using service units from the pool of service units; and

repeating determining a favored billing entity and adjusting until the pool of service units is empty.

11. The method of claim 10 , wherein determining the favored billing entity includes:

calculating a low-importance workload percentage for each billing entity in the entity pool; and

selecting the favored billing entity as a billing entity with lowest low-importance workload percentage and, from among the billing entities with the lowest low-importance workload percentages, a highest priority and lowest deficit ratio.

12. The method of claim 11 , wherein the low-importance workload percentage is based on an importance level assigned by a workload manager.

13. The method of claim 11 , wherein the low-importance workload percentage for each billing entity is adjusted by an adjustment factor assigned to the priority of the billing entity.

14. The method of claim 13 , wherein the adjustment factor is identified in the dynamic capping policy.

15. The method of claim 11 , the dynamic capping policy further identifying importance criteria for each SYSPLEX.

16. The method of claim 10 , wherein a first SYSPLEX of the at least two SYSPLEXes and a second SYSPLEX of the at least two SYSPLEXes have different workload policies and determining the favored billing entity includes:

calculating a low-importance workload percentage for each billing entity in the entity pool; and

determining a SYSPLEX favored billing entity for each SYSPLEX, wherein the SYSPLEX favored billing entity has a lowest low-importance workload percentage for the respective SYSPLEX and, from among the billing entities with the lowest low-importance workload percentages, a highest priority and lowest deficit ratio,

wherein the favored billing entity is selected from among the SYSPLEX favored billing entities.

17. The method of claim 10 , wherein the dynamic capping policy identifies, for each of the billing entities, a proportion and the service unit entitlement value for each billing entity is calculated by dividing the respective proportion for a billing entity by a sum of the respective proportion and multiplying the result by a maximum service unit limit identified in the dynamic capping policy.

18. A computing system comprising:

a central processor complex including a plurality of processors;

a plurality of billing entities, the plurality including a first set of billing entities associated with a first SYSPLEX and a second set of billing entities associated with a second SYSPLEX, each billing entity having a respective capacity limit and each billing entity being at least one logical partition;

a dynamic capping policy for the central processor complex stored in non-transitory memory, the dynamic capping policy identifying:

a subset of the plurality of billing entities, wherein the subset includes a billing entity from a first SYSPLEX of the at least two SYSPLEXes and a billing entity from a second SYSPLEX of the at least two SYSPLEXes,

a maximum service unit limit for the dynamic capping policy,

for each SYSPLEX, importance criteria, and

for each identified billing entity, information from which to determine a service unit entitlement value; and

instructions that, when executed by the plurality of processors, causes the computing system to dynamically adjust the capacity limits at a scheduled interval by:

for a billing entity that has a rolling average under the respective service unit entitlement value:

setting the capacity limit to the rolling average plus a buffer value, and

adding a difference between the service unit entitlement value and the capacity limit to a service unit pool; and

adjusting capacity limits, using the service unit pool, for billing entities that have a rolling average above the respective service unit entitlement value, favoring billing entities with higher priorities.

19. The system of claim 18 , wherein adjusting capacity limits using the service unit pool includes:

determining, from the billing entities that have a rolling average above the respective service unit entitlement value, a favored billing entity;

adjusting the capacity limit for the favored billing entity above the service unit entitlement value using service units from the service unit pool; and

repeating determining a favored billing entity and adjusting the capacity limit until the service unit pool is empty.

20. The system of claim 19 , wherein determining the favored billing entity includes:

determining whether the importance criteria for the first SYSPLEX and the importance criteria for the second SYSPLEX differs;

when the importance criteria differs:

determining, using low-importance workload, a SYSPLEX favored billing entity for each SYSPLEX, and

selecting, from among the SYSPLEX favored billing entities, a SYSPLEX favored billing entity with a highest priority; and

when the importance criteria does not differ, selecting the billing with the lowest low-importance workload percentage as the favored billing entity.

Assignments (13)
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY INTEREST Recorded Aug 10, 2017
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043514/0845 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2016
From: TRAN, PHAT; WILLIAMS, EDWARD; RAMA, HEMANTH; PERINI, ROBERT; DEGRANGE, STEVEN
To: BMC SOFTWARE, INC.
Reel/Frame 038544/0277 →
Continuity (2)
Continuation 14665950 · Mar 23, 2015
Related Publication 20160283926A1 · Sep 29, 2016