Patent ID: 8812339

Claim:
A system comprising: a processor; and a memory device operably coupled to the processor, the memory device being configured for storing: a first list of one or more pending tasks, each of the one or more pending tasks being allocated a respective number of pending hours to be worked by a respective one of one or more pending due dates; a second list of one or more non-pending tasks, each of the one or more non-pending tasks being allocated a respective number of non-pending hours to be worked; a predetermined number of regular hours per day are available to work on the one or more pending tasks and the one or more non-pending tasks; and program code which, when executed by the processor, causes the processor to perform steps of: calculating a number of primary hours per day as the number of pending hours that must be scheduled per day to complete the respective one or more pending tasks by the respective one or more pending due dates such that primary hours are distributed as evenly as possible across as many days as possible; determining for each respective day whether the regular hours per day exceeds the primary hours per day; determining for each respective day a number of overtime hours per day as zero hours per day and a number of secondary hours per day as the regular hours per day less the primary hours per day, when the regular hours per day exceeds the primary hours per day; determining for each respective day a number of secondary hours per day as zero hours per day and a number of overtime hours per day as the primary hours per day less the regular hours per day, when the regular hours per day do not exceed the primary hours per day; determining for each of the one or more non-pending tasks a respective quasi due date by which the respective non-pending hours may be worked, the respective quasi due date being equal to the respective date when each of the one or more non-pending tasks would be completed if all of the respective non-pending hours were scheduled to be worked during the secondary hours per day; and scheduling the one or more pending tasks with the one or more non-pending tasks during the sum of the regular hours per day and the overtime hours per day in chronological order based on the respective pending due date of each of the one or more pending tasks and on the respective quasi due date of each of the one or more non-pending tasks.