# US 2014/0196047 A1 · Computing job management based on priority and quota

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0196047 A1
- Document ID: US20140196047A1
- Status: Published application
- Kind: A1
- Application number: 14/210,332
- Filed: 2014-03-13
- Published: 2014-07-10
- Earliest claimed: 2011-06-14
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Arnaud Limoratto; Eric J.F. Menguy; Noémi Murgat; Carole Truntschka
- Web page: https://patentgrep.com/patent/US20140196047A1

## CPC

- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 2209/5021: Priority
- G06F 2209/504: Resource capping
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

In one embodiment, the invention provides a method of managing a computing job based on a job priority and a submitter quota.

## Claims

### Claim 1

A method of managing a computing job based on a job priority and a submitter quota, the method comprising:
determining whether a declared priority of a computing job is a minimum priority;
in the case that the declared priority of the computing job is a minimum priority, assigning the computing job to at least one computer resource at the declared priority; and
in the case that the declared priority of the computing job is not a minimum priority:
determining whether the declared priority of the computing job exceeds a remaining portion of a predetermined declared priority quota of a submitter of the computing job;
in the case that the declared priority of the computing job exceeds the remaining portion of the predetermined declared priority quota of the submitter, substituting a reduced priority for the declared priority of the computing job;
determining whether the reduced priority of the computing job exceeds a remaining portion of a predetermined reduced priority quota for the submitter of the computing job;
in the case that the reduced priority of the computing job does not exceed the remaining portion of the predetermined reduced priority quota of the submitter of the computing job, assigning the computing job to at least one computer resource at the reduced priority; and
in the case that a reduced priority quota of the submitter of the computing job has been reached, assigning the computing job to at least one unused computer resource at an off-quota priority equal to the declared priority.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving from the submitter the computing job having the declared priority;
determining the at least one computer resource for performing the computing job.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
in the case that the declared priority of the computing job does not exceed the remaining portion of the predetermined declared priority quota of the submitter of the computing job, assigning the computing job to the at least one computer resource at the declared priority.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
in the case that the reduced priority of the computing job exceeds the remaining portion of the predetermined reduced priority quota of the submitter of the computing job, substituting a further-reduced priority for the reduced priority of the computing job.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
determining whether the further-reduced priority of the computing job exceeds a remaining portion of a predetermined further-reduced priority of the submitter of the computing job; and
in the case that the further-reduced priority of the computing job does not exceed the remaining portion of the predetermined further-reduced priority quota of the submitter of the computing job, assigning the computing job to the at least one computer resource at the further-reduced priority.

### Claim 6 (depends on 1)

The method of claim 1, wherein assigning the computing job to the at least one computer resource includes ordering the computing job within a queue associated with the at least one computer resource, wherein the queue includes at least one additional computing job having at least one of the following: a priority other than the reduced priority or a submitter other than the submitter of the computing job.

### Claim 7 (depends on 6)

The method of claim 6, wherein ordering the computing job includes ordering the computing job and the at least one additional computing job according to a predetermined priority order.

### Claim 8

A system comprising:
at least one computing device configured for managing a computing job based on a job priority and a submitter quota by performing a method comprising:
determining whether the declared priority of the computing job is a minimum priority;
in the case that the declared priority of the computing job is a minimum priority, assigning the computing job to the at least one computer resource at the declared priority; and
in the case that the declared priority of the computing job is not a minimum priority:
determining whether the declared priority of a computing job exceeds a remaining portion of a predetermined declared priority quota of a submitter of the computing job;
in the case that the declared priority of the computing job exceeds the remaining portion of the predetermined declared priority quota of the submitter, substituting a reduced priority for the declared priority of the computing job;
determining whether the reduced priority of the computing job exceeds a remaining portion of a predetermined reduced priority quota for the submitter of the computing job;
in the case that the reduced priority of the computing job does not exceed the remaining portion of the predetermined reduced priority quota of the submitter of the computing job, assigning the computing job to the at least one computer resource at the reduced priority; and
in the case that a reduced priority quota of the submitter of the computing job has been reached, assigning the computing job to at least one unused computer resource at an off-quota priority equal to the declared priority.

### Claim 9 (depends on 8)

The system of claim 8, wherein the method further comprises:
receiving from the submitter the computing job having the declared priority;
determining the at least one computer resource for performing the computing job.

### Claim 10 (depends on 9)

The system of claim 9, wherein the method further comprises:
in the case that the reduced priority of the computing job exceeds the remaining portion of the predetermined reduced priority quota of the submitter of the computing job, substituting a further-reduced priority for the reduced priority of the computing job;
determining whether the further-reduced priority of the computing job exceeds a remaining portion of a predetermined further-reduced priority quota of the submitter of the computing job; and
in the case that the further-reduced priority of the computing job does not exceed the remaining portion of the predetermined further-reduced priority quota of the submitter of the computing job, assigning the computing job to the at least one computer resource at the further-reduced priority.

### Claim 11 (depends on 8)

The system of claim 8, wherein assigning the computing job to the at least one computer resource includes ordering the computing job within a queue associated with the at least one computer resource, wherein the queue includes at least one additional computing job having at least one of the following: a priority other than the reduced priority or a submitter other than the submitter of the computing job.

### Claim 12 (depends on 11)

The system of claim 11, wherein ordering the computing job includes ordering the computing job and the at least one additional computing job according to a predetermined priority order.

### Claim 13

A program product tangibly embodied on a non-transitory computer-readable storage medium for managing a computing job based on a job priority and a submitter quota, the computer-readable storage medium comprising program code for performing the following steps:
determining whether the declared priority of the computing job is a minimum priority;
in the case that the declared priority of the computing job is a minimum priority, assigning the computing job to at least one computer resource at the declared priority; and
in the case that the declared priority of the computing job is not a minimum priority:
determining whether the declared priority of the computing job exceeds a remaining portion of a predetermined declared priority quota of a submitter of the computing job;
in the case that the declared priority of the computing job exceeds the remaining portion of the predetermined declared priority quota of the submitter, substituting a reduced priority for the declared priority of the computing job;
determining whether the reduced priority of the computing job exceeds a remaining portion of a predetermined reduced priority quota for the submitter of the computing job;
in the case that the reduced priority of the computing job does not exceed the remaining portion of the predetermined reduced priority quota of the submitter of the computing job, assigning the computing job to at least one computer resource at the reduced priority; and
in the case that a reduced priority quota of the submitter of the computing job has been reached, assigning the computing job to at least one unused computer resource at an off-quota priority equal to the declared priority.

### Claim 14 (depends on 13)

The program product of claim 13, wherein the computer-readable storage medium further comprises program code for performing the following steps:
receiving from the submitter the computing job having the declared priority;
determining the at least one computer resource for performing the computing job.

### Claim 15 (depends on 13)

The program product of claim 13, wherein the computer-readable storage medium further comprises program code for:
substituting a further-reduced priority for the reduced priority of the computing job;
determining whether the further-reduced priority of the computing job exceeds a remaining portion of a predetermined further-reduced priority of the submitter of the computing job; and
assigning the computing job to the at least one computer resource at the further-reduced priority.

### Claim 16 (depends on 13)

The program product of claim 13, wherein assigning the computing job to the at least one computer resource includes ordering the computing job within a queue associated with the at least one computer resource, wherein the queue includes at least one additional computing job having at least one of the following: a priority other than the reduced priority or a submitter other than the submitter of the computing job.

### Claim 17 (depends on 19)

The program product of claim 19, wherein ordering the computing job includes ordering the computing job and the at least one additional computing job according to a predetermined priority order.
