Computer resource proportional utilization and response time scheduling
First Claim
1. A method of scheduling jobs to be executed by a resource in a computer system, comprising the steps of:
- organizing the jobs into a hierarchy comprising groups of job classes, wherein at least one group of job classes includes at least one job class having a set of subclasses associated therewith;
proportionally allocating the resource to the hierarchy according to a usage objective;
proportionally allocating the resource to the hierarchy according to a response objective; and
scheduling job classes for execution to satisfy an objective selected from the group of objectives consisting of the usage objective, the response time objective and a combination of the usage and response time objectives.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of scheduling jobs to be executed by a resource in a computer system wherein the jobs are grouped in “classes.” The job classes vying for the resource'"'"'s attention are arranged in a hierarchy. Each job class has a time-function value that controls when the job class is selected by the resource if processing time becomes available. Within a particular level of the hierarchy, scheduling priorities are defined by one or more time-based functions, each of which may be constant or dynamically varying. When constant time-based functions are used, each job class has a schedule value that remains fixed with time. When dynamic time-based functions are used, job class “time-function values” are modified to alter the timing by which the job class(es) acquire the resource.
-
Citations
33 Claims
-
1. A method of scheduling jobs to be executed by a resource in a computer system, comprising the steps of:
-
organizing the jobs into a hierarchy comprising groups of job classes, wherein at least one group of job classes includes at least one job class having a set of subclasses associated therewith;
proportionally allocating the resource to the hierarchy according to a usage objective;
proportionally allocating the resource to the hierarchy according to a response objective; and
scheduling job classes for execution to satisfy an objective selected from the group of objectives consisting of the usage objective, the response time objective and a combination of the usage and response time objectives. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of scheduling jobs to be executed by a processor in a computer system, comprising the steps of:
-
organizing the jobs into a hierarchy comprising job classes, wherein at least one job class has a set of subclasses associated therewith;
proportionally allocating the processor to the hierarchy according to a usage objective;
proportionally allocating the processor to the hierarchy according to a response objective; and
scheduling job classes for execution to satisfy an objective selected from the group of objectives consisting of the usage objective, the response time objective and a combination of the usage and response time objectives. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer, comprising:
-
processor, an operating system, and a scheduler run by the operating system for scheduling jobs to be executed by the processor, the scheduler comprising;
means for organizing the jobs into a hierarchy comprising job classes, wherein at least one group of job classes includes at least one job class having a set of subclasses associated therewith;
means for proportionally allocating the processor to the hierarchy according to a usage objective;
means for proportionally allocating the processor to the hierarchy according to a response objective; and
means for scheduling jobs for execution to satisfy the usage and response time objectives.
-
-
26. A computer program product in a computer-readable medium, comprising:
-
means for organizing the jobs into a hierarchy comprising job classes, wherein at least one group of job classes includes at least one job class having a set of subclasses associated therewith;
means for proportionally allocating the processor to the hierarchy according to a usage objective;
means for proportionally allocating the processor to the hierarchy according to a response objective; and
means for scheduling jobs for execution to satisfy the usage and response time objectives.
-
-
27. A method of scheduling jobs to be executed by a resource in a computer system, comprising the steps of:
-
proportionally allocating the resource to a set of job classes according to a response mode objective, wherein each of the job classes has associated therewith a monotonically non-increasing time-function value; and
scheduling job classes for execution to satisfy the response mode objective. - View Dependent Claims (28)
-
-
29. A method of scheduling jobs to be executed by a resource in a computer system, comprising the steps of:
-
proportionally allocating the resource to a set of job classes according to a usage mode objective, wherein each of the job classes has associated therewith a monotonically non-decreasing time-function value; and
scheduling job classes for execution to satisfy the usage mode objective. - View Dependent Claims (30)
-
-
31. A method of scheduling jobs to be executed by a resource in a computer system, comprising the steps of:
-
proportionally allocating the resource to a set of job classes according to a response mode objective, wherein each of the job classes has associated therewith a monotonically non-increasing time-function value;
proportionally allocating the resource to a set of job classes according to a usage mode objective, wherein each of the job classes has associated therewith a monotonically non-decreasing time-function value; and
scheduling job classes for execution to satisfy the response mode objective, the usage mode objection, or a combination of the response mode and usage mode objectives. - View Dependent Claims (32, 33)
-
Specification