IP Library Granted Patent US 9,158,591
Granted Patent B2
US 9,158,591 · App. 13/690,495 · Granted Oct 13, 2015

System and method for controlled sharing of consumable resources in a computer cluster

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 9,158,591
App. No.
13/690,495
Granted
Oct 13, 2015
Kind
B2
Abstract

In one embodiment, a method includes empirically analyzing a set of active reservations and a current set of consumable resources belonging to a class of consumable resources. Each active reservation is of a managed task type and includes a group of one or more tasks requiring access to a consumable resource of the class. The method further includes, based on the empirically analyzing, clocking the set of active reservations each clocking cycle. In addition, the method includes, responsive to the clocking, sorting a priority queue of the set of active reservations.

Claims (50)

1. A method comprising:

empirically analyzing, by at least one process on a computer cluster comprising a plurality of computers, a set of active reservations and a current set of consumable resources belonging to a class of consumable resources;

wherein the empirically analyzing comprises computing a flow-control clocking weight for each reservation of the set of active reservations;

wherein each active reservation is of a managed task type and comprises a group of one or more tasks requiring access to a consumable resource of the class;

based on the empirically analyzing, clocking the set of active reservations each clocking cycle;

responsive to the clocking, sorting, by the at least one process, a priority queue of the set of active reservations;

wherein the sorting comprises sorting the priority queue by wait-times, the wait-times comprising a wait-time for each active reservation in the set of active reservations; and

wherein each wait-time comprises fractional units of resource-time.

2. The method of claim 1 ,

wherein each flow-control clocking weight comprises fractional units of resources.

3. The method of claim 2 , wherein, for each reservation of the set of active reservations, the wait-time is given an initial value upon creation of the reservation, the initial value comprising a factor of the flow-control clocking weight.

4. The method of claim 3 , wherein the clocking comprises, each said clocking cycle, decrementing the wait-time for each reservation in the set of active reservations by a factor of the flow-control clocking weight.

5. The method of claim 4 , wherein the factor is a product of the flow-control clocking weight, an actual average capacity of the current set of consumable resources during the clocking cycle, and a length of the clocking cycle.

6. The method of claim 2 , comprising, responsive to a determination that at least one consumable resource in a current set of consumable resources is free, assigning the at least one consumable resource to a reservation of the set of active reservations that is at a top of the priority queue.

7. The method of claim 6 , comprising, as each task of the reservation finishes accessing the assigned consumable resource, incrementing the wait-time by a factor of resource-time units utilized by the task.

8. The method of claim 2 , wherein the wait-times are maintained in a double-precision floating-point format.

9. The method of claim 2 , comprising:

wherein the clocking cycle is defined in units of wall time; and

wherein the wait-times comprise fractional units of resource-seconds.

10. The method of claim 1 , wherein the empirically analyzing is repeated as new reservations of the managed task type are created on the computer cluster.

11. The method of claim 1 , wherein the class of consumable resources is access to a bottleneck point of a business process.

12. The method of claim 1 , wherein the class of consumable resources comprises at least one selected from the group consisting of: floating software licenses and voice ports.

13. The method of claim 1 , wherein the method is performed relative to multiple managed task types.

14. The method of claim 1 , wherein at least a portion of the current set of consumable resources are external to the computer cluster.

15. An information handling system, comprising:

a computer cluster comprising a plurality of computers, wherein the computer cluster is operable to:

empirically analyze a set of active reservations and a current set of consumable resources belonging to a class of consumable resources;

wherein the empirical analysis comprises computing a flow-control clocking weight for each reservation of the set of active reservations;

wherein each active reservation is of a managed task type and comprises a group of one or more tasks requiring access to a consumable resource of the class;

based on the empirical analysis, clock the set of active reservations each clocking cycle;

responsive to the clocking, sort a priority queue of the set of active reservations;

wherein the sort comprises sorting the priority queue by wait-times, the wait-times comprising a wait-time for each active reservation in the set of active reservations; and

wherein each wait-time comprises fractional units of resource-time.

16. The information handling system of claim 15 ,

wherein each flow-control clocking weight comprises fractional units of resources.

17. The information handling system of claim 16 , comprising:

wherein, for each reservation of the set of active reservations, the wait-time is given an initial value upon creation of the reservation, the initial value comprising a factor of the flow-control clocking weight,

wherein the clocking comprises, each said clocking cycle, decrementing the wait-time for each reservation in the set of active reservations by a factor of the flow-control clocking weight.

18. The information handling system of claim 17 , wherein the computer cluster is operable to:

responsive to a determination that at least one consumable resource in a current set of consumable resources is free, assign the at least one consumable resource to a reservation of the set of active reservations that is at a top of the priority queue.

19. The information handling system of claim 17 , wherein the computer cluster is operable to:

as each task of the reservation finishes accessing an assigned consumable resource, increment the wait-time by a factor of resource-time units utilized by the task.

20. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:

empirically analyzing a set of active reservations and a current set of consumable resources belonging to a class of consumable resources;

wherein the empirically analyzing comprises computing a flow-control clocking weight for each reservation of the set of active reservations;

wherein each active reservation is of a managed task type and comprises a group of one or more tasks requiring access to a consumable resource of the class;

based on the empirically analyzing, clocking the set of active reservations each clocking cycle;

responsive to the clocking, sorting a priority queue of the set of active reservations;

wherein the sorting comprises sorting the priority queue by wait-times, the wait-times comprising a wait-time for each active reservation in the set of active reservations; and

wherein each wait-time comprises fractional units of resource-time.

Assignments (12)
SECURITY INTEREST Recorded Jul 2, 2020
From: MESSAGEONE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053111/0809 →
CHANGE OF NAME Recorded Jun 15, 2020
From: MESSAGEONE, INC.
To: MESSAGEONE, LLC
Reel/Frame 052944/0793 →
MERGER Recorded Sep 28, 2015
From: METRIC HOLDINGS, LLC
To: MESSAGEONE, INC.
Reel/Frame 036667/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2015
From: DELL MARKETING L.P.
To: METRIC HOLDINGS, LLC
Reel/Frame 035599/0731 →
RELEASE OF SECURITY INTEREST Recorded Apr 15, 2015
From: BANK OF AMERICA, N.A.
To: DELL MARKETING L.P.
Reel/Frame 035416/0025 →
RELEASE OF SECURITY INTEREST Recorded Apr 15, 2015
From: BANK OF AMERICA, N.A.
To: DELL MARKETING L.P.
Reel/Frame 035416/0196 →
RELEASE OF SECURITY INTEREST Recorded Apr 15, 2015
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT A.K.A. THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
To: DELL MARKETING L.P.
Reel/Frame 035413/0570 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2015
From: DELL PRODUCTS L.P.
To: DELL MARKETING L.P.
Reel/Frame 035251/0169 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2012
From: MATOUSEK, JON FRANKLIN
To: DELL PRODUCTS L.P.
Reel/Frame 029461/0507 →