IP Library Granted Patent US 12675316
Granted Patent B2
US 12675316 · App. 17/647,051 · Granted Jul 7, 2026

Using multiple quota trees in resource scheduling

Inventors: Lior Aronovich (Thornhill, CA); Alaa S. Youssef (Valhalla, NY); Asser Nasreldin Tantawi (Somers, NY); Diana Jeanne Arroyo (Austin, TX); Marius Ion Danciu (Cluj-Napoca, RO)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/4881G06F9/5044G06F16/9027
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 12675316
App. No.
17/647,051
Granted
Jul 7, 2026
Kind
B2
Abstract

Systems, computer-implemented methods, and computer program products to facilitate using multiple quota trees in resource scheduling are provided. According to an embodiment, a system can comprise a processor that executes computer executable components stored in memory. The computer executable components comprise an evaluation component that executes admissibility of a job request based on a scope property of one or more quota trees that apply to the job request.

Claims (39)

1 . A computer-implemented method comprising:

with regard to two or more quota trees that are able to be applicable to a job request, arranging, by a system operatively coupled to a processor, respective quota trees of the two or more quota trees in an evaluation order based on a logical operator associated with the job request and respective likelihoods of admissibility of the respective quota trees for the job request, wherein the respective quota trees comprise a first quota tree and a second quota tree;

evaluating, by the system, admissibility of the job request with respect to the two or more quota trees based on the evaluation order and a scope property of the two or more quota trees, wherein the evaluating comprises simultaneously evaluating the first quota tree and the second quota tree, wherein the first quota tree comprises first nodes that are arranged in a computer-resource hierarchy and represent computer-type resources, and the second quota tree comprises second nodes that are arranged in an organizational hierarchy and represent non-computer-type resources, wherein the second quota tree is not part of the first quota tree, wherein the computer-type resources comprise computer processing resources, computer memory resources, or computer data storage resources that potentially are applicable to the job request, wherein the non-computer-type resources comprise users, user groups, funding units, or projects of an organization that potentially are applicable to the job request, wherein the non-computer-type resources do not include any computer-type resources, and wherein the arranging and the evaluating comprises determining which resources of the two or more quota trees are able to execute the job request such that resource usage remains within quota limits associated with the two or more quota trees; and

scheduling, by the system, the job request to the resources associated with at least two quota trees of the two or more quota trees that are determined to be able to satisfy the job request based on a result of the evaluating of the admissibility of the job request, wherein a job is executed, utilizing the resources, based on the job request and the scheduling.

2 . The computer-implemented method of claim 1 , wherein the at least two quota trees of the two or more quota trees are selected based on a scheduling process.

3 . The computer-implemented method of claim 1 , wherein the at least two quota trees of the two or more quota trees are selected based on a global scope property.

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

mapping, by the system, the job request to one or more leaf nodes in the two or more quota trees, wherein the one or more leaf nodes comprise one or more of the first nodes or one or more of the second nodes.

5 . The computer-implemented method of claim 2 , wherein the scheduling process is based on resource requirements associated with the job request and available resources, and wherein the available resources comprise available computer-type resources and available non-computer-type resources.

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

applying, by the system, logical operations on the admissibility outcome of the job request based on the two or more quota trees.

7 . The computer-implemented method of claim 1 , wherein the logical operator is a first logical operator or a second logical operator, wherein the evaluation order is a first evaluation order or a second evaluation order, and wherein the arranging further comprises:

arranging the respective quota trees in the first evaluation order, based on the first logical operator, or in the second evaluation order, based on the second logical operator, wherein the first evaluation order is a descending order of admissibility of the respective quota trees from a higher likelihood of admissibility to a lower likelihood of admissibility, and wherein the second evaluation order is a descending order of non-admissibility of the respective quota trees from a higher likelihood of non-admissibility to a lower likelihood of non-admissibility.

8 . A system, comprising:

a memory that stores computer executable components; and

a processor that executes computer executable components stored in memory, wherein the computer executable components comprise:

an arrangement component, wherein, with regard to two or more quota trees that are able to be applicable to a job request, the arrangement component arranges respective quota trees of the two or more quota trees in an evaluation order based on a logical operator associated with the job request and respective likelihoods of admissibility of the respective quota trees for the job request, wherein the respective quota trees comprise a first quota tree and a second quota tree;

an evaluation component that evaluates admissibility of the job request with respect to the two or more quota trees based on the evaluation order and a scope property of the two or more quota trees, wherein the evaluation component concurrently evaluates the first quota tree and the second quota tree, wherein the first quota tree comprises first nodes that are arranged in a computer-resource hierarchy and represent computer-type resources, and the second quota tree comprises second nodes that are arranged in an organizational hierarchy and represent non-computer- type resources, wherein the second quota tree is separate from the first quota tree, wherein the computer-type resources comprise computer processing resources, memory resources, or data storage resources that potentially are applicable to the job request, wherein the non-computer-type resources comprise users, user groups, funding units, or projects of an organization that potentially are applicable to the job request, and wherein the arrangement of the respective quota trees and the evaluation of the admissibility of the job request comprises a determination of which resources of the two or more quota trees are able to perform the job request such that resource usage remains within quota limits associated with the two or more quota trees; and

a scheduling component that determines a schedule that assigns, to the job request, the resources associated with at least two quota trees of the two or more quota trees that are determined to be able to satisfy the job request based on a result of the evaluation of the admissibility of the job request, wherein a job is performed, utilizing the resources, based on the job request and the schedule.

9 . The system of claim 8 , wherein the at least two quota trees of the two or more quota trees are selected based on a scheduling process.

10 . The system of claim 8 , wherein the at least two quota trees of the two or more quota trees are selected based on a global scope property.

11 . The system of claim 8 , wherein the computer executable components further comprise:

a mapping component that maps the job request to one or more leaf nodes in the two or more quota trees, wherein the one or more leaf nodes comprise one or more of the first nodes or one or more of the second nodes.

12 . The system of claim 9 , wherein the scheduling process is based on resource usage associated with the job request and available resources, and wherein the available resources comprise available computer-type resources and available non-computer-type resources.

13 . The system of claim 8 , wherein the computer executable components further comprise:

a logical operations component that applies logical operations on the admissibility outcomes of the two or more quota trees.

14 . The system of claim 8 , wherein the arrangement component arranges the two or more quota trees in the evaluation order that enhances performance of the evaluation and reduces the workload of the processor and computational costs associated with the processor.

15 . A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:

with regard to two or more quota trees that are able to be applicable to a job request, arrange respective quota trees of the two or more quota trees in an order based on a logical operator associated with the job request and respective likelihoods of admissibility of the respective quota trees for the job request, wherein the respective quota trees comprise a first quota tree and a second quota tree;

evaluate admissibility of the job request with respect to the two or more quota trees based on the order and a scope property of the two or more quota trees, wherein the evaluating comprises evaluate, in parallel, the first quota tree and the second quota tree, wherein the first quota tree comprises first nodes that are arranged in a computer-resource hierarchy and represent computer-type resources, and the second quota tree comprises second nodes that are arranged in an organizational hierarchy and represent non-computer-type resources, wherein the second quota tree is not part of the first quota tree, wherein the computer-type resources comprise computer processing resources, memory resources, or data storage resources that potentially are applicable to the job request, wherein the non-computer-type resources comprise users, user groups, funding units, or projects of an organization that potentially are applicable to the job request, and wherein the arranging and the evaluating comprises determining which resources of the two or more quota trees are able to perform the job request such that resource usage remains within quota limits associated with the two or more quota trees; and

schedule the job request to the resources associated with at least two quota trees of the two or more quota trees that are determined to be able to satisfy the job request based on a result of the evaluation of the admissibility of the job request, wherein a job is performed, utilizing the resources, based on the job request and the scheduling.

16 . The computer program product of claim 15 , wherein the at least two quota trees of the two or more quota trees are selected based on a scheduling process.

17 . The computer program product of claim 15 , wherein the at least two quota trees of the two or more quota trees are selected based on a global scope property.

18 . The computer program product of claim 15 , wherein the program instructions are further executable by the processor to cause the processor to:

map the job request to one or more leaf nodes in the two or more quota trees, wherein the one or more leaf nodes comprise one or more of the first nodes or one or more of the second nodes.

19 . The computer program product of claim 15 , wherein the program instructions are further executable by the processor to cause the processor to:

apply logical operations on the admissibility outcome of the two or more quota trees.

20 . The computer program product of claim 15 , wherein the program instructions are further executable by the processor to cause the processor to:

arrange the two or more quota trees in the order that optimizes performance of the evaluation.