Patent ID: 7089557

Claim:
A method in a data processing system for dynamically executing a plurality of simultaneous tasks, said method comprising the steps of: identifying tasks that are available for execution; determining an order in which said identified tasks will execute; for each said identified task, generating a sequence of instructions based on instructions contained in each said identified task; for each said generated sequence of instructions: identifying one or more endpoints, wherein said endpoints mark possible termination points of each said generated sequence of instructions; generating any additional instructions needed for restoring any necessary state information; and for each said identified endpoint, generating any additional instructions needed for saving any necessary state information; generating an aggregate super sequence of instructions via ordering said identified tasks in the order determined in said determining step, the aggregate super sequence of instructions thereby including: said sequences of instructions generated for each identified task, any additional instructions needed for restoring any necessary state information and any additional instructions needed for saving any necessary state information; and executing the aggregate super sequence of instructions.