The subject invention pertains to a systems and methods of restarting
programs upon failure. In particular, the systems and methods provide for
generation of a checkpoint component including program execution status
or completion data as well as state. This checkpoint component can then
be employed by an execution engine to restart the program at a point in
time captured by the checkpoint component. According to one specific
aspect of the invention, these systems and methods can be applied to a
workflow system to facilitate restarting a workflow package or process
described thereby.