Patent ID: 8418178

Claim:
A system comprising: at least one processor; a non-transitory computer-readable storage medium including instructions executable by the at least one processor, the instructions configured to implement: an orchestration engine configured to instantiate a workflow process which includes a synchronization point comprising an OR-join with a plurality of incoming branches, with each of the branches having a state, wherein instantiating the workflow process includes the orchestration engine spawning a process execution engine corresponding to the OR-join to provide incremental evaluation of the OR-join, the incremental evaluation comprising: determining a minimum number of the incoming branches which must change to a completion state before the synchronization point could fire, wherein the minimum number is greater than one; monitoring the plurality of incoming branches for a change to the completion state; generating at least one inspection trigger for inspection of the branches at the OR-join, wherein the generation of the inspection trigger is not initiated until at least a number of the branches equal to the minimum number change to the completion state at the OR-join; inspecting the branches at the OR-join in response to the inspection trigger, wherein the inspecting comprises collecting state data for each non-completed branch at the OR-join to determine if the non-completed branch is in an active state and may eventually change to the completion state or is in an unreachable state and will never change to the completion state; and determining whether or not to fire the synchronization point based at least in part on the collected state data.