Patent ID: 8281313

Claim:
A method of scheduling a plurality of computer processing jobs comprising: determining, by executing instructions on a scheduling processor, a schedule for processing the plurality of computer processing jobs on processors within a multi-processor computing environment, wherein each job has a plurality of stages, at least one task for each stage, precedence constraints among the stages, and a job completion due time, wherein the precedence constraints include a particular precedence constraint between a first of the stages and a second of the stages, where each of the first and second stages has plural tasks, wherein a completion reward accrues for a job if the job completes by the corresponding job completion due time, and wherein the determined schedule assigns sequences of tasks to the processors in a manner that maximizes a sum of the completion rewards for the plurality of computer processing jobs; and processing the plurality of computer processing jobs on the processors within the multi-processor computing environment according to the determined schedule.