Patent ID: 8689231

Claim:
A system comprising: a processor; and a computer-readable medium comprising computer-readable instructions to perform an automated process, said automated process comprising: obtaining an ordered list of tasks, each task of said ordered list of tasks further comprising two or more task dependencies associated with said each task; determining a ready constraint to indicate that a task is ready for execution for a first task of said ordered list of tasks and adding said first task to an evaluation queue; determining a request wait constraint to indicate that a task may be executed but it is not yet an optimal time for a second task of said ordered list of tasks and adding said second task to the evaluation queue; determining a constrained constraint to indicate that a task may not be executed until other tasks must be performed first for a third task of said ordered list of tasks and adding said third task to the evaluation queue; and creating an object oriented constraint object for each determined constraint associated with a task of the ordered list of tasks , the creating comprising: inserting the determined constraint, and the methods for managing, executing and deleting constraints to determine constrained tasks best able to be executed; processing said evaluation queue by: adding the first task to an execution queue based on a first determination by a respective object oriented constraint object associated with the first task; adding the second task to the execution queue after the first task based on a second determination by a respective object oriented constraint object associated with the second task; and adding the third task to the execution queue wherein the third task is not executed until the first and second tasks are performed first based on a third determination by a respective object oriented constraint object of the third task.