Information Technology Reference
In-Depth Information
columns of SS-S
i
entry in SR-Table
j
to False and 0, respectively. Otherwise, SS-R
j
increments SR-Table
j
[SS-R
j
,Retry] If SR-Table
j
[SS-S
i
,Retry] equals Max-Retry
j
(i.e.,
SS-R
j
did not receive Refresh() from SS-S
i
during Max-Retry
j
consecutive
τ
SSR
cy-
cles), SS-R
j
assumes a physical (node) fault in SS-S
i
and hence, calls the
React()
pro-
cedure to process that fault. SS-R
j
finally restarts its
τ
SSR
timer.
3.3 Example
Let us consider a Web service WS
3
(with a soft-state sender SS-S
3
) that participates in
two composite services CS
1
and CS
2
(with soft-state receivers SS-R
1
and SS-R
2
, re-
spectively). We assume that
τ
SSR1
=
τ
SSR2
= 2
×
τ
SSS3
. Fig 5 depicts the interactions
between SS-S
3
and SS-R
1
/SS-R
2
.
Fig. 5.
Example of Fault Propagation
At time t
31
, SS-S
3
detects a change (with category C
1
and scope S
1
) in WS
3
. SS-S
3
assigns True to State
3
.ChangeStatus and inserts (C
1
,S
1
) in State
3
.ChangeDetails. At
time t
2
, SS-S
3
sends Refresh(True,{(C
1
,S
1
)}) to SS-R
1
and SS-R
2
, and reinitializes
State
3
. SS-R
1
and SS-R
2
process those changes by calling their
React()
procedure at
times t
11
and t
21
, respectively. At t
3
, SS-R
1
and SS-R
2
note the reception of the Re-
fresh() sent by SS-S
3
. At this same time, SS-S
3
sends Refresh() to both receivers with
the parameters (False,
) since no changes have been detected in the second SS-S
3
cycle. SS-S
3
detects two changes (C
2
,S
2
) and (C
3
,S
3
) in WS
3
at t
32
and t
33
, respec-
tively. At t
33
, State
3
.ChangeStatus equals True and State
3
.ChangeDetails contains
{(C
2
,S
2
),(C
3
,S
3
)}. At t
4
, SS-S
3
sends Refresh(True,{(C
2
,S
2
,),(C
3
,S
3
)}) to SS-R
1
and
SS-R
2
. SS-R
1
and SS-R
2
process those changes at t
12
and t
22
, respectively. At t
5
,
SS-R
1
and SS-R
2
note the reception of the Refresh() sent by SS-S
3
. At times t
5
and t
6
,
∅