View
221
Download
0
Embed Size (px)
Citation preview
2
Objective
Distributed applications constructed by combining existing applications
– Such applications can be very complex in structure Contain many notification and dataflow dependencies between
their constituent applications
– The execution of such an application may take a long time to complete, and may contain long periods of inactivity
Long running applications will require support for fault-tolerance: machines may fail, services may be moved or withdrawn
3
Computational Model
Computational model for expressing process logic– Tasks– Dependencies– Task composition
4
Tasks
Can have multiple input sets– Contains a set of input
objects– The first complete input set
causes a task to be started Can have multiple output
sets– Contains a set of output
objects– A task can produces one
output set
i3
i2
i4
i1
t
I1
I2
I3
o2
o3
o1
O1
O2
O3
5Multi-source Multi-sink Multi-source Multi-sink
Dataflow Dependencies
Source Output Source Input
Dependencies Types
Output
Input
Sink
Notification Dependencies
Source Output Source Input
7
Compound Tasks
Compositional building blocks for collections of tasks
The first complete output set causes a compound task to be completed
A
B
E
C
D
8
Genesis Tasks
Tasks which instantiate a workflow definition when executed
– Allows “just in time” instantiation
– Allows recursive execution of defined workflows
AA’
B
9
Model Summary
Tasks – Multiple ways of starting (input sets)– Multiple ways of completing (output sets)
Recursive task definition– Compound tasks
Recursive task execution– Genesis task
Multiple input sources– Redundant sources of input
10
Flexible Task Composition
Application level fault-tolerance– Alternative tasks– Compensating tasks
Forward error recovery Backward error recovery
– Input time-out support tasks
11
Alternative Tasks
Primary task A Alternative task A’ If A fails A’ is started
– With same input
B will be triggered by successful completion of A or A’
– Otherwise another process could be triggered
A’
BA
12
Compensating Tasks
Task C outcomes:– Successful– Nothing– Partial
Forward error recovery Backward error recovery
-C
C D
+C
C D
13
Input Time-Out Support Tasks
If task E does not complete within required time, task TO will trigger task F using secondary input set.
TO
E F
Process Deployment Model
Process definition contains annotations which are interpreted based on the deployment definition
Deployment definition
Processdefinition
Deploymentengine
Process instance