Patent ID: 7093254
Filing Date: 2006-08-15
Classification: G06F

Abstract:
1. A method in a computer system of scheduling a sequence of tasks for execution, wherein a computer program is stored on tangible media of a storage device of the computer system, said method comprising: reading the computer program from the storage device by computer system; and performing steps by the computer system responsive to the instructions of the computer program, the steps including: a) maintaining a master task list containing a sequence of entries for respective tasks, wherein each such entry indicates whether the respective entry's corresponding one of said tasks is enabled for execution or not, so that the master task list indicates ones of the entries enabled for execution and ones of the entries not enabled for execution; b) creating a first shadow task list from said master task list, wherein completed ones of the entries from the master task list are cleared from the first shadow task list; c) scheduling for execution a first one of the tasks in said first shadow task list, wherein the first shadow task list has a next one of the tasks immediately succeeding the first one of the tasks in said first shadow task list; d) scheduling for execution the immediately succeeding task in said first shadow task list, wherein the entry for the immediately succeeding task is not examined in the first shadow task list to determine whether said immediately succeeding task is enabled for execution; and e) repeating step d) for successive immediately succeeding ones of the task in the first shadow task list until the tasks for all the entries in the first shadow task list are scheduled, wherein said first shadow task list enables each one of the successive tasks to be scheduled more quickly than if the successive task entries in the first shadow task list were examined in the first shadow task list to determine whether the respective successive tasks were enabled for execution after scheduling each of said tasks; and e) executing said tasks, wherein said scheduling of each successive one of the tasks having entries on the shadow task list is performed after said scheduling for executing is begun for each respective preceding one of the tasks on the shadow task list.