Patent ID: 7865896

Claim:
A method of facilitating scheduling of computer jobs of a computing system comprising a plurality of resources, the method comprising: separating a job scheduling algorithm responsible for scheduling the computer jobs from processing to manipulate resource space data structures, the resource space data structures comprising a plurality of data members for tracking recorded usage of the plurality of resources by the computer jobs, the separating comprising: (i) providing resource space data structures for recording usage of the plurality of resources by computer jobs; and (ii) providing processing operators for facilitating manipulation of at least one value of at least one data member of the plurality of data members of the resource space data structures, wherein the job scheduling algorithm accesses the processing operators to manipulate the at least one value of the at least one data member, thereby facilitating maintaining the resource space data structures separate from the job scheduling algorithm, wherein the job scheduling algorithm makes job scheduling decisions by, in part, manipulating the at least one value of the at least one data member employing the processing operators wherein the resource space data structures comprise resource amount data structures, the resource amount data structures comprising data members of the plurality of data members, the data members including recorded usage of the plurality of resource by scheduled computer job at defined points in time, and wherein each resource amount data structure facilitates tracking usage of a particular resource of the plurality of resources of the computing system, and each resource amount data structure comprises a â€œrealâ€ field, indicative of an actual amount of the resource employed at a current time, a â€œvirtualâ€ field, indicative of at least one virtual amount of the resource to be employed at one or more of the defined points in time, and a â€œrequirementsâ€ field, employed by the processing operators as temporary data storage to facilitate manipulation of values within the â€œrealâ€ field and the â€œvirtualâ€ field employing the processing operators.