Patent ID: 7370326

Claim:
A method for scheduling a plurality of tasks in a processing system having a plurality of defined resources, comprising: identifying prerequisites for each task, the prerequisites representing all defined resources needed for that task to execute to completion; identifying one or more higher priority task paths and one or more lower priority task paths, each of the paths having a plurality of tasks in series; representing each defined resource by one or more resource flags that provide information about that resource; storing the prerequisites for each task as a collection of resource flags known as a prerequisite row; storing the system state as a collection of resource flags; creating a prerequisite table, the prerequisite table having one prerequisite row for each instantiated task arranged in descending order according to a task priority order determined in accordance with the higher priority task paths and the lower priority task paths, and having one column for each resource flag; in a descending row order, performing a comparison of the prerequisite row for the task in a given row against a system state representing a current state of the defined resources until a task is identified for which the comparison reveals that the prerequisites for the identified task are currently available; and dispatching the identified task.