Patent ID: 8812403

Claim:
A system comprising: a processor; a connection to a first workflow provider, said first workflow provider executing a representation of a workflow, said representation of said workflow comprising a first set of work steps, which when performed on work items, produces a set of results; a connection to a second workflow provider, said second workflow provider configured to execute a second representation of said workflow, said second representation of said workflow comprising a second set of work steps, which when performed on said work items, also produces said set of results, said second set of work steps differing from said first set of work steps; a workflow manager, the workflow manager configured to: determine that said workflow is to be moved to said second workflow provider; cause said workflow to be transferred from said first workflow provider to said second workflow provider, including: cause a first part of workflow state to be transferred from said first workflow provider to said second workflow provider, said first part of workflow state for use by said second workflow provider to configure said second representation of said workflow to accept new work items; cause new work items to be directed to said second representation of said workflow for processing after said first part of workflow state is transferred to said second workflow provider; cause a stop command to be issued to said first workflow provider, said stop command placing said representation of said workflow in a transfer state for transferring said workflow, said transfer state permitting said representation of said workflow to continue in parallel with said second representation of said workflow to complete the handling of in-process work items to a state where transfer can be performed, said in-process work items being work items received prior to issuance of said stop command; and cause a second part of workflow state to be transferred from said first workflow provider to said second workflow provider, said second part of workflow state including said in-process items, said second part of workflow state transferred after said issuance of said stop command; and cause said second workflow provider to execute said second representation of said workflow.